Hello, [sorry could not hit the reply button since I'm new to this list]
William Giokas 1007380 at gmail.com Tue Dec 10 14:56:18 EST 2013
Previous message: [pacman-dev] [PATCH 4/4] makepkg: git: update existing sources in srcdir without removing them first. Next message: [pacman-dev] [PATCH 4/4] makepkg: git: update existing sources in srcdir without removing them first. Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Dec 10, 2013 at 09:39:51AM +0100, Lukas Jirkovsky wrote:
On Mon, Dec 9, 2013 at 10:10 PM, Dave Reisner <d at falconindy.com> wrote:
This groundbreaking idea has been proposed and rejected several times already.
Can you point me to where they were rejected? I have submitted the patches implementing this functionality in the past, but they were rejected because of technical problems, not because of the idea itself. This new patch series should fix all the issues that were present in my previous attempts. Also I remember that Allan set FS#35050 as due in 4.2.0 probably because I was working on it.
For the tl;dr:
Here's how we use git sources at the moment:
- Create bare clone (no checked out files) - Clone the bare clone to build dir - Build - Possible cleanup
With a shallow clone the first two steps won't work at all. Look at the manual page for git-clone(1):
A shallow repository has a number of limitations (you cannot clone or fetch from it, nor push from nor into it)...
As you can see, we can't do the second step, and if we do the first step with --depth=1, then it would essentially just give us a useless set of files.
I've also read the link you gave earlier about why shallow clones are bad: https://mailman.archlinux.org/pipermail/aur-general/2013-April/022938.html While I agree that the first step should *not* be a shallow clone, I fail to see why we clone the whole history for the build dir. AFAICS, the whole discussion in both of these threads is about the first step, I'm talking about the second step, ie making the sources to the build dir Uwe Koloska said "local clones are cheap", (https://mailman.archlinux.org/pipermail/aur-general/2013-April/022955.html ) while I agree it's fast it also copies a whole bunch of files which won't be used for the build (namely the .git directory). Although, this does not feel right(to me), I cannot find any tangible reason other that premature EOL of our beloved SSD *sick*. Anyway, why not just doing something like this for step 2: cd $git archive --format=tar --prefix=$pkgname/ . | tar xf - -C $srcdir (or even a shallow clone) I may be missing something, eg, I've never played with git submodules and don't know how well this approach would work with them. What do you think? Thanks for your time! sam
Thanks, -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF