From: "Shawn O. Pearce" <spearce@spearce.org>
To: David Frech <david@nimblemachines.com>
Cc: Michael Haggerty <mhagger@alum.mit.edu>,
esr@thyrsus.com, Martin Langhoff <martin.langhoff@gmail.com>,
Julian Phillips <julian@quantumfyre.co.uk>,
git@vger.kernel.org, dev <dev@cvs2svn.tigris.org>
Subject: Re: CVS -> SVN -> Git
Date: Sat, 14 Jul 2007 22:30:35 -0400 [thread overview]
Message-ID: <20070715023035.GX4436@spearce.org> (raw)
In-Reply-To: <7154c5c60707141623s3f70e967s226e5da29965a173@mail.gmail.com>
David Frech <david@nimblemachines.com> wrote:
> Now I want to switch to git. I've since added enough to svn that there
> is no option but to use th svn repo as my source. git-svnimport
> doesn't work for me because its idea of the structure of my repo is
> too limited. I looked around, stumbled over fast-import, and got
> hooked on the idea of using it. It seemed simple enough... I wrote a
> 350-line Lua (!!) program that parses the svn dump file and creates a
> commit stream for fast-import.
>
> It took a day and half to get the svn dump parsing right (it's an
> egregiously bad format) but only a couple of hours to write the
> fast-import backend.
With the 'C' (copy) and 'R' (rename) operators in fast-import I was
starting to suspect that an SVN dump->fast-import stream translator
wasn't going to be that complex.
I wouldn't want to attempt to parse the SVN dump format directly
in fast-import. As you said the format is horribly difficult
to read. The entire fast-import stream parser is only 624 lines
of C (the other 1,636 lines of fast-import are for documentation,
the in memory tree/branch management and packfile generation).
I doubt the SVN dump file can be parsed in as few lines of C code.
--
Shawn.
next prev parent reply other threads:[~2007-07-15 2:30 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-13 14:48 CVS -> SVN -> Git Julian Phillips
2007-07-13 23:03 ` Michael Haggerty
2007-07-14 5:30 ` Martin Langhoff
2007-07-14 17:09 ` Michael Haggerty
2007-07-14 17:32 ` Chris Shoemaker
2007-07-14 20:01 ` Michael Haggerty
2007-07-14 18:14 ` Steffen Prohaska
2007-07-15 2:22 ` Shawn O. Pearce
2007-07-14 19:52 ` Eric S. Raymond
2007-07-14 20:58 ` Junio C Hamano
2007-07-14 21:50 ` Oswald Buddenhagen
2007-07-14 22:19 ` Michael Haggerty
2007-07-14 22:44 ` Karl Fogel
2007-07-14 23:23 ` David Frech
2007-07-15 2:30 ` Shawn O. Pearce [this message]
2007-07-15 11:48 ` Michael Haggerty
2007-07-16 1:08 ` Martin Langhoff
2007-07-16 1:13 ` Julian Phillips
2007-07-16 1:30 ` Karl Fogel
2007-07-15 1:39 ` Eric S. Raymond
2007-07-15 12:04 ` Michael Haggerty
2007-07-15 13:36 ` Eric S. Raymond
2007-07-16 1:05 ` Martin Langhoff
2007-07-19 12:02 ` Markus Schiltknecht
2007-07-20 3:51 ` Karl Fogel
2007-07-19 19:14 ` Simon 'corecode' Schubert
2007-07-20 8:45 ` Markus Schiltknecht
2007-07-15 23:09 ` Scott Lamb
2007-07-19 19:18 ` Simon 'corecode' Schubert
2007-07-19 19:15 ` Simon 'corecode' Schubert
2007-07-20 5:58 ` Julian Phillips
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=20070715023035.GX4436@spearce.org \
--to=spearce@spearce.org \
--cc=david@nimblemachines.com \
--cc=dev@cvs2svn.tigris.org \
--cc=esr@thyrsus.com \
--cc=git@vger.kernel.org \
--cc=julian@quantumfyre.co.uk \
--cc=martin.langhoff@gmail.com \
--cc=mhagger@alum.mit.edu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.