incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Stahl <...@openoffice.org>
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:

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


Mime
View raw message