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