[pacman-dev] [PATCH 4/4] makepkg: git: update existing sources in srcdir without removing them first.

SamLT samuel.lethiec at intelunix.fr
Tue Dec 17 12:34:17 EST 2013


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
> -------------- next part --------------


More information about the pacman-dev mailing list