[pacman-dev] [PATCH] makepkg: Use a recursive, shallow clone for git://

Drew DeVault sircmpwn at gmail.com
Wed Oct 29 01:02:25 UTC 2014


On 10/28/2014 06:55 PM, Dave Reisner wrote:
>>> Does this work with URLs like:
>>>
>>>   git://example.com/repo.git?tag=v1.2.3
>>
>> Those don't work with makepkg as it stands now. It doesn't work after
>> this patch is applied, either. If we wanted to make that work, we could
>> do something more sophisticated to take advantage of the --branch option
>> in git.
> 
> Not following -- this is even documented to work in PKGBUILD(5). Could
> you provide an example where this fails using makepkg from git?

Ah, I went and read PKGBUILD(5) and the syntax is `#tag=...`, rather
than `?tag=...`. This patch does indeed break that feature. The problem
could be avoided by doing the initial clone with --branch, but that
fundamentally changes the relationship of the initial clone and the
working directory. Currently, the initial clone creates a mirror which
the working directory draws from. If we made the mirror use --branch
instead, then the working directory would be less of a clone and more of
a copy. I don't know the intentions behind this design originally, would
that be a bad idea?

My gut says to just drop --depth from this patch and change it to only
deal with submodules. The goal of this was to deal with submodules, the
shallow change was just a nice-to-have. I could be convinced otherwise,
though. Thoughts?


More information about the pacman-dev mailing list