On 18/12/13 03:34, SamLT wrote: > > 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*.
I think hardlinks are used a lot by git here (provided SRCDEST is on the same partition). > 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) > Because we do the branch/tag/commit checkout after we create the $srcdir copy. > 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 >> -------------- next part -------------- > > >
