This is the mail archive of the frysk@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

test mercurial repository (Was: frysk meeting 2007-08-01)


On Wed, 2007-08-01 at 11:10 +0200, Tim Moore wrote:
> Andrew Cagney wrote:
> > + discuss switching to git and/or mercurial
> > 
> As further grist for the mill, and hopefully not gasoline on the fire, here is our
> colleague Jim Meyering's view on git vs. hg: http://meyering.net/dVCS/ . He's
> even more adamant about it in person :)

This discussion and my own struggles this weekend to get a mirror of the
repository into mercurial show how fragile all these distributed version
control systems still are :(

Anyway, Tim gave a great hint about how he got the git mirror working.
He reconstructed the original repository by checking in symbolic links
to restore to original repo/modules splitup as in CVS. Then I thought
you could also try to do this beforehand on the raw CVS repository. And
yes, that works pretty well to make tailor grok it all. Tailor is nice
since it can translate between all kinds of different version control
systems: http://wiki.darcs.net/DarcsWiki/Tailor

Attached is the script I use to get at the raw CVS repository, patch it
up a little to appease tailor and the tailor config file. This only
gives the main branch, no branches, but it does include all 6100+
changesets since 2005 (6103 changesets with 37342 changes to 9481
files). It also makes frysk look like just one big module. But I don't
know if anybody ever actually uses the separate frysk-* and frysk*-build
modules in the first place.

The first conversion is super slow (multiple hours!) this seems to come
from CVS having a "limiter" that only allows one transaction each
second. And with 6000+ changesets and different files in a changeset not
being part of the same transaction according to CVS, you quickly get to
5 hours just waiting for CVS...

Unfortunately there is still one small issue with the getopt files.
Somehow the initial checkin of the getopt library seems to completely
confuse tailor and 4 files don't seem to be tracked. So you will have to
touch them up by hand afterwards. See comments in the script.

If you want to play with the mercurial repository start with:
	hg clone http://gnu.wildebeest.org/hg/frysk

That is a read-only repository. But be gentle (it is 115MB), that is my
personal machine, it should auto update a few times a day, but no
guarantees that I keep it going. You can however recreate a similar
repository with the attached script and then just put it in some cron
job to periodically update.

Cheers,

Mark

Attachment: convert-frysk-repo.sh
Description: application/shellscript

Attachment: frysk-cvs-hg.tailor
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]