[Svnmerge] [PATCH] Handle transitive merging property conflicts for both merged/blocked revs

Raman Gupta rocketraman at fastmail.fm
Thu Jul 5 18:03:51 PDT 2007


Attached is a patch to svnmerge.py that avoids property conflicts for
both merged revisions (as per my prior patch) as well as blocked
revisions. This patch obsoletes the one at http://tinyurl.com/3c229c.

The patch simply avoids conflicts be removing the integrated/blocked
properties altogether before calling merge, and then resets them to
their known values after the merge is complete.

Please use the earlier patch from Dustin (which was never committed)
to test this code. It can be found here:

http://tinyurl.com/39bwwj

[[[
Prevent spurious conflicts on the merge and blocked property
when the source branch contains merge property information for
other branches i.e. a transitive merge A -> B -> C is executed.
Previously, this caused a property conflict because the initial
value on the source branch did not match the initial value on
the target branch.

This patch also prevents extra merge property information from
uninitialized branches being merged into the target. If merging
to those other branches was never initialized on the target by
the user, then the user probably does not expect to see that
information. Note that if that information *was* initialized by
the user, then the user is attempting to do graph-based merging
i.e. A -> B -> C -> A which is currently unsupported.

* contrib/client-side/svnmerge.py:
  (action_merge): Before each merge, clear the integrated/blocked
    properties. Reset these properties to known values after the
    merge is complete.

Patch by:  Raman Gupta <rocketraman at fastmail.fm>
Review by: ?
]]]

Cheers,
Raman Gupta

-------------- next part --------------
A non-text attachment was scrubbed...
Name: propconflict-0705.patch
Type: text/x-patch
Size: 2128 bytes
Desc: not available
URL: </pipermail/svnmerge/attachments/20070706/1e83deda/attachment-0001.bin>


More information about the Svnmerge mailing list