From: Jakub Narebski Date: Thu, 21 Oct 2010 08:16:46 GMT Subject: Re: Converting to Git using svn-fe (Was: Speeding up the initial git-svn fetch) Message-ID: <201010211016.47998.jnareb@gmail.com> In-Reply-To: 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//*, > /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