[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Using svn 1.5.1 merge tracking with existing branches

From: Mark Phippard <markphip_at_gmail.com>
Date: Mon, 25 Aug 2008 16:45:47 -0400

On Mon, Aug 25, 2008 at 3:59 PM, Mark Phippard <markphip_at_gmail.com> wrote:
> On Mon, Aug 25, 2008 at 3:39 PM, Murli Varadachari
> <mvaradachari_at_facebook.com> wrote:
>
>> We are planning to switch our subversion 1.4.x repositories over to 1.5.1
>> shortly — this effectively means that developers can start using the merge
>> tracking functionality right away.
>>
>> Our current development model is as follows ==>
>>
>> Main development work is done on the trunk -- new features etc are done on
>> branches [ based off the trunk]. Developers frequently merge changes from
>> the trunk to their feature branches and on occasion merge their work back
>> from branch to trunk. The actual revision# and command itself is added as
>> a part of the comment during the merge-commit operation.
>>
>> Example:
>>
>> Create a new branch "mybranch" from trunk at rev# X
>>
>> After some trunk commits the changes are sucked into mybranch
>>
>> svn merge –r X:Y trunk <mybranch-WC>
>>
>> .. Later on more trunk commits are merged to mybranch
>>
>> svn merge –r Y:Z trunk <mybranch-WC>
>>
>> Finally the branch commits are merged back to trunk..
>>
>> svn merge trunk_at_X mybranch <trunk-WC-at latestrev>
>>
>> Going forward the simplest solution would have been to have developers (a)
>> cut a new branch from trunk and (b) start using the new merge / reintegrate
>> process for trunk -> br and br->trunk [reintegrate] merges.
>>
>> However that does not seem likely any time soon since many developers are
>> not ready to merge back their changes to trunk from their feature branches
>> . So my question is how can I convert the current process so that I can
>> start using " svn —reintegrate mybranch <trunk-WC>" on existing branches.
>> There is no prior merge history in 1.4.x other than comments. At this point
>> I can't use the above option — merge complains about not having the
>> necessary information to —reintegrate.
>
> Assuming branches were created via svn copy, then SVN should recognize
> the natural history of the branch. I'd think if you knew the last
> revision from trunk that you had merged from you could run this
> command on the branch root and commit the prop change it would create:
>
> svn merge --record-only -r0:LAST_REV url://trunk .
>
> You could probably replace the "0" with the revision when the branch
> was created. I'd like to think --record-only is smart enough to do
> the same, but I did not try it.
>
> Once you do this, you should be able to start using:
>
> svn merge url://trunk
>
> To merge future changes from trunk automatically. And use
> --reintegrate when you are done.

I found an old branch in the SVN repository with no mergeinfo and
tried the --record-only option. Using -r0:HEAD added in the complete
history of trunk. This is not going to specifically cause problems,
but I would suggest instead that you specify the start revision as the
revision when the branch was created.

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-08-25 22:46:10 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.