Re: [gentoo-dev] Re: git-2.eclass final review
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Dne 17.4.2011 20:31, James Cloos napsal(a): That looks good (by inspection). My only concern is the branch deletion in the non-bare update. First of all, * should be escaped. It seems to work OK with gnu grep, but it would be better to be explicit. (grep(1) says that only ?+{|() loose their meta-meaning in basic regexps.) Second, why delete the other branches at all? I'd rather have a complete clone. Just the checkout ought to be enough. Otherwise, cool. -JimC They are local clones - they can be deleted on remote already, so we wipe them all expect master every time unless needed. No need to escape it if it is in . it is parsed as the char itself like this. -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk2sCBwACgkQHB6c3gNBRYddlgCfcK1sl4NKmOBWDWP9AJtEzgyw VGEAmgLY4roHyg8+2szY/lB0B30jaZZv =X/fM -END PGP SIGNATURE-
Re: [gentoo-dev] Re: git-2.eclass final review
TC == Tomáš Chvátal scarab...@gentoo.org writes: TC No need to escape it if it is in . it is parsed as the char itself TC like this. The escaping is for grep(1), not for sh(1). -JimC -- James Cloos cl...@jhcloos.com OpenPGP: 1024D/ED7DAEA6
Re: [gentoo-dev] Re: git-2.eclass final review
That looks good (by inspection). My only concern is the branch deletion in the non-bare update. First of all, * should be escaped. It seems to work OK with gnu grep, but it would be better to be explicit. (grep(1) says that only ?+{|() loose their meta-meaning in basic regexps.) Second, why delete the other branches at all? I'd rather have a complete clone. Just the checkout ought to be enough. Otherwise, cool. -JimC -- James Cloos cl...@jhcloos.com OpenPGP: 1024D/ED7DAEA6
Re: [gentoo-dev] Re: git-2.eclass final review
DB == Donnie Berkholz dberkh...@gentoo.org writes: JC Or better yet, git clone. DB This could work well with --shared; even worked for me on separate DB partitions. Yes, I did mean »git clone -l -s«. -JimC -- James Cloos cl...@jhcloos.com OpenPGP: 1024D/ED7DAEA6
Re: [gentoo-dev] Re: git-2.eclass final review
On 10:44 Wed 23 Mar , James Cloos wrote: TC So live with it. I cannot. It makes the eclass useless. I have almost 2 gigs of bare repo in distdirs/git-src. A forced re-download of all of that is just not possible! The existing distdir clones *MUST* continue to work. My applogies for not having looked for this kind of breakage in the new eclass before now. The current git eclass finally got the submodules- vs-normal stuff worked out some time ago; the possibility of going backwards never occurred to me ☹ As someone who makes heavy use of live ebuilds, someone who will be directly and severely affected by such a change, I have to beg you to keep the current logic for submodule-less repos. I was discussing a couple of ideas on IRC with scarabeus yesterday but haven't had a chance to look into them in more detail yet: - Providing automatic migration from the old system to the new. This is the simplest approach to deal with your specific problem but still leaves separate codepaths for submodule and non-submodule repos. - Handling submodules in bare checkouts. Perhaps we could detect whether submodules are in use (need to find the right place/way in git), then grab them as separate bare checkouts that would eventually be cloned into TMPDIR by changing the repo location git looks for (again, need to sort out how in git). -- Thanks, Donnie Donnie Berkholz Sr. Developer, Gentoo Linux Blog: http://dberkholz.com pgpQLdlUg2rXh.pgp Description: PGP signature
Re: [gentoo-dev] Re: git-2.eclass final review
MF == Mike Frysinger vap...@gentoo.org writes: MF ideally, the git eclass should be creating bare checkouts only in its MF store dir, in which case it could use `git archive | tar` to move MF things over ... Or better yet, git clone. Most builds from vcs work best when they know that they are building from vcs. -JimC -- James Cloos cl...@jhcloos.com OpenPGP: 1024D/ED7DAEA6
Re: [gentoo-dev] Re: git-2.eclass final review
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Dne 23.3.2011 13:28, James Cloos napsal(a): MF == Mike Frysinger vap...@gentoo.org writes: MF ideally, the git eclass should be creating bare checkouts only in its MF store dir, in which case it could use `git archive | tar` to move MF things over ... Or better yet, git clone. Most builds from vcs work best when they know that they are building from vcs. -JimC I explained multiple times already why bare checkouts are not working in our case. I don't get why you guys keep repeating it like in the loop. (I also asked for some implementation where the bare would be possible with submodules stored in distdir, yet nobody said it is possible) So live with it. -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk2J7ygACgkQHB6c3gNBRYdVMACfUPxairvFmsCM+gHTODS1EhTM W0MAoKhDAnzkuOV0HUHfrBUmcY+nPli7 =WVty -END PGP SIGNATURE-
Re: [gentoo-dev] Re: git-2.eclass final review
TC == Tomáš Chvátal scarab...@gentoo.org writes: TC I explained multiple times already why bare checkouts are not TC working in our case. Wait a minute. Not using bare clones in DISTDIR is completely unacceptable here. It is bad enough to have to use non-bare for repos which have submodules. Doing so for all is b0rked. TC I don't get why you guys keep repeating it like in the loop. I didn't notice that bug until you just pointed it out. Nor did I see any of the explanations you mention above. TC (I also asked for some implementation where the bare would be possible TC with submodules stored in distdir, yet nobody said it is possible) TC So live with it. I cannot. It makes the eclass useless. I have almost 2 gigs of bare repo in distdirs/git-src. A forced re-download of all of that is just not possible! The existing distdir clones *MUST* continue to work. My applogies for not having looked for this kind of breakage in the new eclass before now. The current git eclass finally got the submodules- vs-normal stuff worked out some time ago; the possibility of going backwards never occurred to me ☹ As someone who makes heavy use of live ebuilds, someone who will be directly and severely affected by such a change, I have to beg you to keep the current logic for submodule-less repos. P.S. The kind of clone used in distdir is irrelevant to the fact that git-clone should be used to populate $S. -JimC -- James Cloos cl...@jhcloos.com OpenPGP: 1024D/ED7DAEA6
Re: [gentoo-dev] Re: git-2.eclass final review
On 08:28 Wed 23 Mar , James Cloos wrote: MF == Mike Frysinger vap...@gentoo.org writes: MF ideally, the git eclass should be creating bare checkouts only in its MF store dir, in which case it could use `git archive | tar` to move MF things over ... Or better yet, git clone. This could work well with --shared; even worked for me on separate partitions. -- Thanks, Donnie Donnie Berkholz Sr. Developer, Gentoo Linux Blog: http://dberkholz.com pgpXPp3orTeuv.pgp Description: PGP signature
Re: [gentoo-dev] Re: git-2.eclass final review
On Tue, Mar 22, 2011 at 7:41 PM, Ryan Hill wrote: On Tue, 22 Mar 2011 19:08:53 -0400 Mike Frysinger wrote: rsync -rlpgo . ${EGIT_SOURCEDIR} \ this means you need to have DEPEND=net-misc/rsync. why not just use `cp -pPR` instead ? i vaguely recall rsync being slower than a straight cp too ... not much point of doing a rsync when the vast majority of the time (all the time?) the destination is empty. i think i remember doing some time tests using a tar pipe at one point with subversion.eclass that blew cp out of the water. tar -cf - . | tar -xf - -C ${EGIT_SOURCEDIR} might be worth looking at. ideally, the git eclass should be creating bare checkouts only in its store dir, in which case it could use `git archive | tar` to move things over ... -mike