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
> svn merge --dry-run -r 1:20 svn \
> but it 'appears' to me that it is creating everything new inside my
> 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:
svn merge -r10:20 \
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Tue Mar 21 17:35:48 2006