[Svnmerge] Bi-directional merging becoming more painful

Blair Zajac blair at orcaware.com
Tue Nov 15 12:25:47 PST 2005


Raman Gupta wrote:
> Blair Zajac wrote:
> 
>>So, given all that, where do we stand on resolving this issue in
>>svnmerge.py?
>>
>>There was some discussion a while back, but I don't know where people
>>stand now.
> 
> 
> Personally, this is the only thing keeping me from moving to the .py
> version.  I still have and use my patched shell version that allows me
> to track bi-directional merges using hidden dot-files. There was some
> discussion after my contributed patch about implementing it without
> using dot-files, but AFAIK there has not been any action on that front
> yet. See this message from Archie:
> 
> http://www.orcaware.com/pipermail/svnmerge/2005-August/000024.html
> 
> and the following one or two messages.

Thanks.  The bidirectional merging problem has been getting more painful for me, 
so I'm thinking about implementing something soon.

Here's my thoughts on reading the archived discussions.

1) In one of my projects, I have in my repository a checked in copy of a project 
from a separate Subversion repository that I don't have commit writes to, i.e. a 
vendor project.  I don't want to use svn:externals, since sometimes I send 
patches upstream and when they get commited, I would like to use svnmerge.py to 
merge in that one revision that I care about into my vendor branch.  When the 
next official release is announced, I then merge in all revisions.  The solution 
of modifying the source path won't work in this case, as I can't do commits into 
the source URL.

Another point Raman pointed out with the property on the source URL is that it 
requires a second commit by the user, which would then need to be handled by an 
'svnmerge commit' instead of an 'svn commit'.  This is potentailly lossy and I 
could easily see loosing information to have svnmerge working properly.

So if I had to trade adding dot files to my working copies or modifying the 
source URL, I would choose adding dot files.

2) On a larger scope, the different methods of handling the problem boil down to 
solutions that cache data somewhere (dot files or properties in the source URL) 
to speed up the merges versus a solution that doesn't cache anything but may be 
much slower.

I think Giovanni's in a good position to let us know about speed issues, as I 
understand, svnmerge.py is being used in the gcc repository, which is huge :) 
Any slowness pain there, we'll definitely hear about it.

So I think as a community, we should decide on the dot files or the slow 
approach.  Maybe we implement both?  Having the dot files there won't prevent 
the slower solution from working.

Regards,
Blair




More information about the Svnmerge mailing list