Subject: Re: Approaches to SVN to Git conversion

From: Andrew Sayers <[email-masked]>
Date: Wed, 07 Mar 2012 23:32:44 +0000

On 07/03/12 23:08, Nathan Gray wrote:
<snip>
> 
> I'm not sure I understand.  So if I have /trunk/projectA and
> /trunk/projectB then do I have to blacklist /trunk/projectB to extract
> only projectA's history?  Assuming it's always lived there will your
> code detect /trunk/projectA as the "trunk?"  Would it be possible to
> specify /trunk/projectA directly instead of blacklisting everything
> else?

Please do try it, but the process should go something like this for you:

1. run the SVN export "configure" stage - this reads through your repo
   and suggests two trunks - "/trunk/projectA" and "/trunk/projectB".
   You can explicitly ignore "/trunk/projectB", but at present there's
   no way to ignore trunks by default.  No particular reason, I just
   hadn't thought to add it :)

2. run the SVN export "make" stage - this looks through whichever
   trunks you've specified, and tracks the branches coming from it.  I
   didn't explain this correctly in my previous e-mail, but yes this is
   transitive - branches from branches from branches from trunk are
   tracked in the appropriate way.

3. edit the file created in stage 2.  If you wanted to ignore a
   specific branch from (a branch from...) trunk/projectA, your best
   bet is to exercise your text-fu on this file

4. Import the history into git

I'll be interested to hear how you and Phil get on, as it sounds like
yes this approach should work for both of your repos.

	- Andrew