After performing the merge, you might also need to resolve some conflicts (just as you do with
svn update) or possibly make some small edits to get things working properly.
Remember: just because there are no syntactic conflicts doesn't mean there aren't any semantic conflicts!
If you encounter serious problems, you can always abort the local changes by running
svn revert . -R(which will undo all local modifications) and start a long what's going on? discussion with your collaborators.
If you don't like the results of the merge, simply run
svn revert . -Rto revert the changes from your working copy and retry the command with different options. The merge isn't final until you actually
svn committhe results.
While it's perfectly fine to experiment with merges by running
svn revertover and over, you may run into some annoying (but easily bypassed) roadblocks.
For example, if the merge operation adds a new file (i.e., schedules it for addition),
svn revertwon't actually remove the file; it simply unschedules the addition. You're left with an unversioned file. If you then attempt to run the merge again, you may get conflicts due to the unversioned file
“being in the way.”
Solution? After performing a
revert, be sure to clean up the working copy and remove unversioned files and directories. The output of
svn statusshould be as clean as possible, ideally showing no output.
Casiano Rodríguez León