merging example

Chris Johnk chris.johnk at gmail.com
Fri Mar 25 15:03:05 CDT 2011


I will figure out how to file it, and do so.

Our subversion server is 1.5.1.

Here's some more background information: the trunk had a long,
complicated revision history before the branch was even created. For
both 1.5.1 and 1.6.16, this is the first information that comes back
on attempting the merge without the revision specified:

--- Merging r36 through r2166 into '.':

This was attempting to merge trunk into a branch that was created at r2163.

Chris

On Fri, Mar 25, 2011 at 12:44 PM, C. Michael Pilato
<cmpilato at red-bean.com> wrote:
> Good grief.  File all this under "user experience #fail", will you?
>
> What version of Subversion is running on your server?  I'm trying to figure
> out if the merge tracking feature -- which is designed specifically to make
> that -rX:Y part of the 'svn merge' command unnecessary -- is not available
> to you.
>
> See, the merge tracking feature, in your situation, does a little bit of set
> mathematics.  It first says "He wants me to merge all of the history of the
> trunk into the branch", then it notices that most of the branch's history
> overlaps the trunk's, and so that portion of the to-be-merged set is removed
> as redundant, leaving only the trunk changes made since the branch was cut
> in the set.  It looks like you aren't seeing that behavior, and I'd like to
> better understand why.
>
> On 03/25/2011 03:37 PM, Chris Johnk wrote:
>> Both 1.6.16 and 1.5.1.
>>
>> In 1.5.1, attempting the merge with no revision argument resulted in a
>> crazy number of additions and updates, when in fact the branches were
>> already almost exactly the same.
>>
>> In 1.6.16, attempting the merge with no revision argument gave me
>> nothing but tree conflicts. There was no way for me to get past these,
>> other than to subsequently issue 'svn resolved -R *' which resolved
>> the conflicts but left the branches unmerged.
>>
>> Under both versions, the merge worked as expected when given the range
>> of trunk revisions from which the changes were to be merged.
>>
>> Chris
>>
>> On Fri, Mar 25, 2011 at 12:15 PM, C. Michael Pilato
>> <cmpilato at red-bean.com> wrote:
>>> On 03/24/2011 05:14 PM, Chris Johnk wrote:
>>>> In the svn 1.4 version of the book, the documentation of the merge
>>>> command includes an example of merging trunk changes into a branch to
>>>> keep the branch current with mainline development:
>>>>
>>>> svn merge -r 23:30 file:///tmp/repos/trunk/vendors
>>>>
>>>> This is an incredibly useful example, as it clarifies that when doing
>>>> this sort of merge, you want to specify the range of revisions on
>>>> trunk whose changes you wish to merge.
>>>>
>>>> Other examples I've seen in the current book simply show such a merge like this:
>>>>
>>>> svn merge file:///tmp/repos/trunk/vendors
>>>>
>>>> This form failed for me, because I am working on a branch that was
>>>> created at revision 2150, and the merge command wanted to go all the
>>>> way back to the earliest trunk revision without the revisions
>>>> specified. As a result, merge was trying unsuccessfully to bring in
>>>> changes that made no sense for the branch.
>>>
>>> What version of Subversion were you running when doing this?
>>>
>>> --
>>> C. Michael Pilato <cmpilato at red-bean.com> | http://cmpilato.blogspot.com/
>>>
>
>
> --
> C. Michael Pilato <cmpilato at red-bean.com> | http://cmpilato.blogspot.com/
>




More information about the svnbook-dev mailing list