[Svnmerge] [PATCH] Bidirectional patch take 2

Raman Gupta rocketraman at fastmail.fm
Tue Feb 28 04:49:17 PST 2006


Giovanni Bajo wrote:
> Raman Gupta <rocketraman at fastmail.fm> wrote:
> 
>>> Index: svnmerge.py
>>> ===================================================================
>>> --- svnmerge.py (revision 18642)
>>> +++ svnmerge.py (working copy)
>>> @@ -876,6 +876,9 @@
>>>      for start,end in minimal_merge_intervals(revs, phantom_revs):
>>>          svn_command('merge -r %d:%d %s %s' % \
>>>                      (start-1, end, opts["head_url"], branch_dir))
>>> +        # Revert any changes to the branch_dir properties, we will
>>> set +        # these once at the end
>>> +        svn_command('revert "%s"' % branch_dir)
>>>
>>>      # Write out commit message if desired
>>>      if opts["commit_file"]:
> 
> The only issue here is that we're going to overwrite the svnmerge-integrated
> property *only*, *not* other properties. With your fix you're reverting other
> property changes. This is definitely incorrect: it's better to leave the
> property in a conflicted state and let the user decide.

Hmm, yes. I think it might still be worth checking the directory to see
if there are any other non-svnmerge properties (before and after the
merge). If there are no other properties, then go ahead and revert, and
if there are, leave it with the conflict. This would at least prevent
the spurious property conflict sometimes. What do you think?  Can anyone
think of another solution?

> I'm not sure how SVN behaves with property conflicts: I suppose it doesn't add
> conflict markers?

No, I don't think it does.

Cheers,
Raman



More information about the Svnmerge mailing list