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

Re: merging a branch to the trunk

From: Craig White <craigwhite_at_azapple.com>
Date: 2006-03-21 17:48:03 CET

On Tue, 2006-03-21 at 17:30 +0100, Ryan Schmidt wrote:
> On Mar 21, 2006, at 16:47, Craig White wrote:
>
> > Let me try to describe what I am trying to do in another way.
> >
> > I want to merge my branch 'phase2' into my main trunk
> >
> > I change directories to my main trunk
> > $ pwd
> > /home/craig/svn/th-db/trunk
> >
> > svn merge --dry-run -r 1:20 svn \
> > +craigssh://craig@srv1.example.com/home/craig/svn/th-db/branches/
> > phase2
> >
> > but it 'appears' to me that it is creating everything new inside my
> > trunk...
> >
> > Skipped 'test'
> > Skipped 'test/unit'
> > A test/unit/client_test.rb
> > A test/unit/user_test.rb
> > A test/unit/notifier_test.rb
> > A test/unit/clients_test.rb
> > A test/unit/error_mailer_test.rb
> > A test/unit/facility_test.rb
> > A test/unit/case_manager_test.rb
> > A test/unit/referral_note_test.rb
> > A test/unit/case_managers_test.rb
> > A test/unit/placement_test.rb
> > A test/test_helper.rb
> >
> > when all these files already exist in the 'trunk'
>
> Subversion tracks back through time. When you ask for revision 1 of
> branches/phase2, Subversion sees that branches/phase2 didn't exist in
> revision 1, but at some point after revision 1 you created that
> branch by copying the trunk. So Subversion tracks back to the trunk
> and gives you changes that occurred there, including the adding of
> those files. That's why it's adding them now.
>
> You need to get the revision number at which you created the branch.
> As someone else already said, use "svn log --stop-on-copy" on the
> branch to discover that. Then merge from that revision to the most
> recent revision of the branch. So for example if you discover using
> "svn log --stop-on-copy" that you created the branch in revision 10,
> and now it's revision 20, then that means you want to take the list
> of changes performed between revisions 10 and 20 of the branch, and
> perform them on a working copy of the trunk. Therefore:
>
> cd /home/craig/svn/th-db/trunk
> svn merge -r10:20 \
> svn+craigssh://craig@srv1.example.com/home/craig/svn/th-db/branches/
> phase2

----
excellent - I wouldn't have connected the 'svn log --stop-on-copy' to my
trying to merge but indeed, that told me that I only needed to merge
from revision 14 to 20, dry run log looks to be what I want and I'm
throwing all remaining caution to the wind.
Thanks
Craig
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Mar 21 17:52:11 2006

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