I feel like I have the simplest use case in the world with SVN:
Test.java
in trunk
of SVN.trunk
to dev-branch
.Test.java
into com/mycompany
folder in trunk
.Test.java
in dev-branch
.dev-branch
to trunk
.Why, oh why, can't SVN handle this? Are we doing something wrong? This feels like it should be easy and yet every engineer at my company is stymied.
Looking for SVN-oriented answers here (not 'move to git', etc).
Have a local checkout of the branch to which you want to merge a range of revisions from a source branch. By default, "Merge a range of revisions" is clicked. Click Test Merge to check if it merges desired revisions/files.
In SVN a move is a delete and an add. When you merged in the branch it would do the add part of your move, but it couldn't do the delete because of the conflict. You now have to resolve the conflict manually by
Test.java
to com/mycompany/Test.java
, overwriting the old one. That resolves the conflict with that file.Test.java
file from the old place. That is the manual way to do the delete part of the change set that SVN couldn't do when you did your merge. Use the svn delete Test.java
command. svn resolve --accept working .
The dot at the end is for the current directory Test.java
file's conflict is also resolved with svn resolve --accept working Test.java
Then you can commit your merged version and you are back in sync with the repository.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With