incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Stahl <>
Subject Re: single repository status
Date Wed, 20 Jul 2011 12:08:15 GMT
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:

> 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:

> 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.


View raw message