savannah-hackers-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-hackers-public] Re: Overwriting bare repositories' master


From: Han-Wen Nienhuys
Subject: [Savannah-hackers-public] Re: Overwriting bare repositories' master
Date: Tue, 31 Oct 2006 01:58:48 +0100
User-agent: Thunderbird 1.5.0.7 (X11/20061008)

Sylvain Beucler escreveu:
address@hidden:/srv/git/sources/administration.git \
 master:refs/heads/master
Does this mean that we will get GIT support on savannah? Cool!

We're experimenting with GIT for GNU LilyPond, so it would be really nice to have distributed VC with minimum fuss.
Cool. Do you want to create a repository for lilypond now? I can
create one; it is temporarily at http://cvs.sv.gnu.org/gitweb/ .
Does this already work with the savannah project memberships system?

Yes. git shared repos can be Unix-groups-based, which means this works
out of the box in Savane :)


Beware, that's a ZETA service ;)
There is no real hurry; we're making do with repo.or.cz and lilypond.org currently. But if there is a some sort fo regular system in place, I think we wouldn't mind being one of the first to go to a DVC.

It is better if we get a few interested users to use the service, so
as to steer early in the right direction.

OK. What would be your proposal? We can move our repo from repo.or.cz to savannah, and leave the CVS import cron running on lilypond.org. Do you want to do it now, or do you need some time?

One thing that I wanted to remark: I think it's best to have not one repo per project, but rather, one repository per module. We have a bunch of modules that are related to LilyPond, but are on different release schedules.

getting info from the entire repository at savannah, but then it only pulls in the new changes.

That sounds acceptable indeed (especially with commit hooks instead of
cron jobs).

Incidentally you may want to perform the cvsimport out of a local
rsync mirror (from rsync://cvs.sv.gnu.org::sources). I am not sure if
rsync is more efficient than rlog, but it might.

It doesn't matter that much, it only takes a minute or so. But if that is too much load on SV, I'll change it.

The headaches start when you want to merge changes from GIT back into CVS, but that can't be automated anyway.

You can tell me some more about it? This is something that would
probably be useful to document, if projects want to move progressively
to git (with a part of the team sticking to CVS and another part using
git in the first times, and with both repos kept in sync).

We've just started, so my experience is little.

The setup is:

cvs on savannah -> git on lilypond.org (changes come in branch 'cvs-head', cronjob)

 git on lilypond.org -> git on repo.or.cz for the cvs-head branch
 (cron job)

Then, I pull from repo.or.cz into my local 'master-hanwen' branch. Once I finish something, I push to the 'master' on repo.or.cz. Every once in a while, I use a small python script

http://repo.or.cz/w/lilypond.git?a=blob;f=buildscripts/git-update-changelog.py;h=a1cb3cf2f961bead4f16c83311ce72141808826e;hb=f5a9495df61204bd15ece4da47e563c6d9f44eb1

which takes a bunch of GIT patches, applies them to a CVS checkout, updating the ChangeLog. When I commit to CVS, the changes come back to me via repo.or.cz, but GIT will merge them automatically.

(There actually is a script included with GIT to do this, but I found it flaky)

It's all a bit hacked together, but the end goal is to move away from CVS, so hopefully, we can scrap this infrastructure soon.


--
 Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]