public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: frysk@sourceware.org
Subject: test mercurial repository (Was: frysk meeting 2007-08-01)
Date: Mon, 06 Aug 2007 15:34:00 -0000	[thread overview]
Message-ID: <1186414438.3766.72.camel@dijkstra.wildebeest.org> (raw)
In-Reply-To: <46B04E06.7060102@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2448 bytes --]

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 #2: convert-frysk-repo.sh --]
[-- Type: application/x-shellscript, Size: 1619 bytes --]

[-- Attachment #3: frysk-cvs-hg.tailor --]
[-- Type: text/plain, Size: 270 bytes --]

[DEFAULT]
verbose = True

[project]
target = hg:target
start-revision = INITIAL
root-directory = /home/mark/frysk-repo
state-file = tailor.state
source = cvs:source
subdir = frysk-hg

[hg:target]

[cvs:source]
module = frysk
repository = /home/mark/frysk-repo/frysk-cvs

  reply	other threads:[~2007-08-06 15:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-31 13:48 frysk meeting 2007-08-01 Andrew Cagney
2007-07-31 18:15 ` Andrew Cagney
2007-08-01  9:10   ` Tim Moore
2007-08-06 15:34     ` Mark Wielaard [this message]
2007-08-20  9:19       ` test Mercurial repository and Trac instance Mark Wielaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1186414438.3766.72.camel@dijkstra.wildebeest.org \
    --to=mark@klomp.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).