Michael Willmott wrote:
> Raman Gupta wrote:
>> Does that test fail in your environment? It passes in mine:
> 
> The test as written passes.  This patch exposes the bug and fails.

Thank you Michael, that helped a lot. Please try out the attached
patch in your environments and report your results. If everything
works, then I will submit it for review and commit.

Cheers,
Raman Gupta

Index: svnmerge.py
===================================================================
--- svnmerge.py	(revision 25979)
+++ svnmerge.py	(working copy)
@@ -689,13 +689,13 @@
 
     return dict_from_revlist_prop(out)
 
-def get_merge_props(dir):
+def get_merge_props(dir, rev=None):
     """Extract the merged revisions."""
-    return get_revlist_prop(dir, opts["prop"])
+    return get_revlist_prop(dir, opts["prop"], rev)
 
-def get_block_props(dir):
+def get_block_props(dir, rev=None):
     """Extract the blocked revisions."""
-    return get_revlist_prop(dir, opts["block-prop"])
+    return get_revlist_prop(dir, opts["block-prop"], rev)
 
 def get_blocked_revs(dir, source_pathid):
     p = get_block_props(dir)
@@ -1323,9 +1323,10 @@
     merge_metadata = logs[opts["source-url"]].merge_metadata()
     for start,end in minimal_merge_intervals(revs, phantom_revs):
         if not record_only:
-            # Clear merge/blocked properties to avoid spurious property conflicts
-            set_merge_props(branch_dir, {})
-            set_block_props(branch_dir, {})
+            # Preset merge/blocked properties to the source value at the start rev
+            # to avoid spurious property conflicts
+            set_merge_props(branch_dir, get_merge_props(opts["source-url"], start - 1))
+            set_block_props(branch_dir, get_block_props(opts["source-url"], start - 1))
             # Do the merge
             svn_command("merge --force -r %d:%d %s %s" % \
                         (start - 1, end, opts["source-url"], branch_dir))
_______________________________________________
Svnmerge mailing list
[email protected]
http://www.orcaware.com/mailman/listinfo/svnmerge

Reply via email to