[Svnmerge] Patch for non-reflected bidirectional merging support
Jim Fulton
jim at zope.com
Fri Aug 26 09:03:40 PDT 2005
Raman Gupta wrote:
> Jim Fulton wrote:
>
>>Raman Gupta wrote:
>>
>>
>>>Hi all,
>>>
>>>I have attached two patches. The first is incidental and fixes a couple
>>>of bugs svnmerge that I found while testing. These bugs are:
>>>
>>>[snip]
>>>
>>>The second, and far more interesting, patch adds merge-point tracking.
>>>This improves the bi-directional merging support of svnmerge by
>>>preventing reflected changes from being merged. See here for initial
>>>discussion fo the problem, and a description of the solution implemented
>>>in the patch:
>>>
>>>http://www.orcaware.com/pipermail/svnmerge/2005-August/000000.html
>>>
>>>[snip]
>>>
>>
>>Raman,
>>
>>Did you see the alternate solution that I proposed? I think it is
>>simpler and cleaner than using dot files.
>>
>>Jim
>
>
>
> Hi Jim, yes I saw your email. However, I would take some convincing
> regarding your assertion that using properties on the source branch is
> simpler and cleaner.
OK
> I'm not sure I like having a merge operation modify a different branch
> than the one being merged to, the main reason being that it will require
> a second commit. This breaks the atomicity of the operation, as well as
> possibly introduces some other complexities in terms of having yet
> another revision that should essentially be ignored in terms of merging.
Yup, although the merge of this second revision should be pretty harmless.
I would even bother to ignore it in svnmerge avail.
In any case, the second transaction *is* a downside. OTOH, I would say that
introducing a new file into the tree is a downside as well.
> I'm also not sure how one would implement this in a clean way -- would
> you ask the user to execute a script, after the merge has been
> committed, that sets the property on the source branch? Yuck.
No, I would have svnmerge make a temporary checkout and update the
property automatically. (Note that I would use the -N option
> In addition, the dot-files give you a "free" way to track the revision
> of the commit via the $Revision$ keyword.
The use of the keyword is definately clever.
> That being said, I'm not totally pleased with the dot-file solution
> either. But until someone can convince me of a better way, or Archie
> integrates a different solution into svnmerge, that's what I'll be using.
For me, using the extra transaction is the lesser of 2 evils, especially
if svnmerge avail could be smart enough to ignore it. OTOH, perhaps I can
get used to the extra dot file, especially since this other solution is
already implemented.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Svnmerge
mailing list