You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Oefelein, Martina" <Ma...@dionex.com> on 2009/08/27 14:00:21 UTC

RE: Is there a better way to convert svnmerge merge-tracking information intos vn native format?

On Wed, Aug 26, 2009 at 8:32 PM, Mark Phippard
<ma...@gmail.com> wrote:

> > Is there a means to convert svnmerge.py merge-information into the
> > native svn 1.6 format so that the history of merges is properly
> > preserved? With svnmerge-migrate-history.py, it is not preserved.
 
> There is some unsupported code in svnsync to do this.  You set some
> environment variables and then run svnsync to create a copy of your
> repository where the history is rewritten.  Look for:
> SVNSYNC_UNSUPPORTED_MIGRATE_SVNMERGE in this file:
> 
>
http://svn.collab.net/viewvc/svn/branches/1.6.x/subversion/svnsync/main.
c?revision=38788&view=markup

Great!

I see that this also elides existing svn:mergeinfo properties.
That's good, because we have a lot of spurious svn:mergeinfo properties
in our repository that we would like to get rid of since they are 
rather annoying during merges.

> We did this on the svn.collab.net repository and mostly came to regret
> it as we discovered bugs in the way it did it over time.

Not so great :-(

> If you
> really wanted to pursue this, I think that using svnsync is probably
> the best approach.  The existing code probably needs to be greatly
> enhanced as it was written before 1.5.x came out.  I'd suggest looking
> at this history of the migration script to see what fixes have been
> made to it over the last 12-18 months and make sure they are reflected
> in the C code.

Umm, I don't have any experience with SVN internals; I didn't even try 
to build it myself so far... Well, I can give it a try.
 
>
http://svn.collab.net/viewvc/svn/trunk/contrib/client-side/svnmerge/svnm
erge-migrate-history.py?view=log
> 
> And I would probably test the results thoroughly.

One can easily compare the result against the result of 
svnmerge-migrate-history.py - at least the HEAD should be identical.

Other than that, we can probably only pick some files/revs at random
and:

- check that SVN log -g displays the right thing

- check that SVN blame displays the right thing

- try to merge various revision ranges, that include merged and blocked
revisions, and check that it doesn't merge the merged and blocked
revisions, while everything else is properly merged.

- try to merge revisions that have been blocked and unblocked

- try to merge revisions that have been merged and reverted

Ciao 
Martina 





                                                                                                                  
Dionex Softron GmbH
Rechtsform: Gesellschaft mit beschrankter Haftung
Sitz der Gesellschaft: Germering
Geschaftsfuhrer: Dr. Peter Jochum
Zustandiges Registergericht: Amtsgericht Munchen, HRB 717 65



                                                                                                                  
Dionex Softron GmbH
Rechtsform: Gesellschaft mit beschrankter Haftung
Sitz der Gesellschaft: Germering
Geschaftsfuhrer: Dr. Peter Jochum
Zustandiges Registergericht: Amtsgericht Munchen, HRB 717 65

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2387887