[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

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

From: Oefelein, Martina <Martina.Oefelein_at_dionex.com>
Date: Thu, 27 Aug 2009 16:00:21 +0200

On Wed, Aug 26, 2009 at 8:32 PM, Mark Phippard
<mailto:markphip_at_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
Received on 2009-08-27 16:02:10 CEST

This is an archived mail posted to the Subversion Dev mailing list.