FS#77922 - [makepkg] blobless or treeless Git clones (NOT shallow clones)

Attached to Project: Pacman
Opened by Phil Schaf (flying-sheep) - Monday, 20 March 2023, 15:16 GMT
Last edited by Allan McRae (Allan) - Monday, 20 March 2023, 21:45 GMT
Task Type Feature Request
Category makepkg
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version 6.0.2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


What this is not about:

Before blobless and treeless checkouts were a thing, people requested support for shallow clones (`--depth=1` or so). Since that option breaks a bunch of git functionality, that request was denied repeatedly, e.g. in  FS#34677 .

This feature request isn’t about that, and the arguments used to dismiss those requests don’t apply here.

What this is about:

These days, git supports other kinds of volume friendly clones: partial clones, which come as blobless (`git clone --filter=blob:none <url>`) and treeless (`git clone --filter=tree:0 <url>`). https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/#user-content-quick-summary

These kinds of clone don’t have the drawbacks that shallow clones have: All operations work as expected, the only difference is that on clone, only the blobs (and in case of treeless also trees) of the newest commit of the initially cloned branch are downloaded, so operations accessing the blobs in other branches than the initially downloaded ones need network access.

I use these options for development a lot, in big repositories they save a lot of time and disk space. It would be great if users could select the default clone filter in either PKGBUILDs or makepkg.conf (or both).
This task depends upon

Closed by  Allan McRae (Allan)
Monday, 20 March 2023, 21:45 GMT
Reason for closing:  None
Additional comments about closing:  
The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacm an/-/issues