Subject: Re: Converting to Git using svn-fe (Was: Speeding up the initial git-svn fetch)

From: Jakub Narebski <[email-masked]>
Date: Thu, 21 Oct 2010 10:16:46 +0200

On Thu, 21 Oct 2010, mrevilgnome wrote:
> Jakub Narebski wrote:

> > Subversion uses the inter-file branching model (Wikipedia says it was
> > "borrowed" from Perforce) to handle branches and tags.  It uses "branches
> > are copies (folders)" paradigm, and technically it doesn't have separate
> > namespace for branches but have projects, branches, and projects'
> > filesystem hierarchy mixed together; what part of path is branch name
> > is defined by convention only.  This model makes it easy to mess up
> > repository (because there are no technological barriers for going
> > against conventions, like mentioned all-branches change, or changing
> > tags, or reversed hierarchy or branches and projects).
>
> I agree.  The repository that I'm interested in converting has
> branches all over the place /sandbox/, /sandbox/<username>/*,
> /stable/MAIN/*, /stable/Features/*,  /features/*, /branches/*, etc...
> Because subversion didn't enforce the convention it was all to easy to
> ignore when our questionable branching strategy was created.  Instead
> of expecting sub-folders of a particular path to be a branch is there
> something that we can key off of in the dumpfile?  Are copy operations
> notated in some fashion?
 
Actually it shouldn't be that hard to implement, it it isn't already
implemented in svn-fe.

We don't need to have copy operations notated in some fashion; it should
be enough to tell svn-fe where the top directory of project is in 
repository tree hierarchy (e.g. that it is at /stable/MAIN/* at
revision 1).  git-fe can/could use then 'tree' movement detection that 
'subtree' merge strategy uses.

-- 
Jakub Narebski
Poland