SVN Reverse-merges

Ulrich Spörlein uqs at freebsd.org
Fri Apr 24 10:51:40 UTC 2020


Hi all

I read a bit about what a reverse-merge is supposed to be, but don't
quite fully understand what is happening here. We have at least 3000
instances of reverse-merged mergeinfo in the repo.

E.g.
r181092

------------------------------------------------------------------------
r181092 | des | 2008-08-01 02:34:37 +0200 (Fri, 01 Aug 2008) | 2 lines
Changed paths:
   M /head/crypto/openssh
   M /head/crypto/openssh/version.c

Ugh.  Set svn:mergeinfo correctly.

------------------------------------------------------------------------
Index: head/crypto/openssh
===================================================================
--- head/crypto/openssh (revision 181091)
+++ head/crypto/openssh (revision 181092)

Property changes on: head/crypto/openssh
___________________________________________________________________
Modified: svn:mergeinfo
## -0,1 +0,0 ##
   Reverse-merged /head/crypto/openssh:r53875-164146


Note that it always _removes_ the Reverse-merged svn:mergeinfo.

I think for a more recent example like r357366 it's pretty
straightforward that it's a backout of a previous merge. How should
this be dealt with in git? I think re-merging to a previous point of
the git branch would lead to very hard to understand history.

I wonder if hoisting all the svn:mergeinfo into git notes would be
feasible and useful.

And then what are we to make of things like r345068? It "merely"
renames/moves a directory within head but deletes 20 lines of
Reverse-merges in the process? I guess it has to delete that
mergeinfo, as the directory is being deleted (well, moved).

Cheers
Uli


More information about the freebsd-git mailing list