On 20.07.2011 12:05, Eike Rathke wrote:
Hi Michael,

On Tuesday, 2011-07-19 23:26:48 +0200, Michael Stahl wrote:

unfortunately it seems none of the tools that convert from HG or
git to SVN can create SVN branches with SVN mergeinfo (necessary in
order to be able to merge the branches back into the trunk).

there are some tools to convert from git that can create SVN
branches, but they leave out the SVN mergeinfo; apparently the
intent is to maintain a read-only mirror...

I didn't dug deeper into this, but conversion from hg to git should
be pretty straight forward and then there's git-svn, would that be
viable to import branches as well?

well, i've already got a git repo with 104 open CWS branches on my
laptop for 2 weeks now...
(which, by the way, i've already made good use of, because git diff has
a very useful option --name-status, making discovery of added files on
CWS branches much easier)

but it seems that git-svn isn't going to help for the branching/merging:

http://www.kernel.org/pub/software/scm/git/docs/git-svn.html

MERGE TRACKING

While git svn can track copy history (including branches and tags)
for repositories adopting a standard layout, it cannot yet represent
merge history that happened inside git back upstream to SVN users.
Therefore it is advised that users keep history as linear as
possible inside git to ease compatibility with SVN (see the CAVEATS
section below).

also, funnily, it has a --mergeinfo parameter which allows the caller to
specify SVN mergeinfo, but it can't compute it itself...

what i guess we could do is to use git-svn to merge and/or rebase the
open CWSes and push the result (as a linear history) to SVN.

there is also a HgSubversion extension that has similar functionality
and restrictions:

http://mercurial.selenic.com/wiki/HgSubversion

The important point to note is that hgsubversion cannot push merge
changesets to a svn repository.

i think the problem is that Hg/git/otherDSCMs and SVN have fundamentally different data models for representing branching/merging; the fact that so far nobody has come up with a conversion tool that handles merges well suggests to me that it's not an easy problem to solve.

regards,
 michael

Reply via email to