A svn conflict results when a file in the repository is changed by another user before you committed your work. For example, you checked out revision 10024 and you are editing my.php. In the meanwhile, another user edits and commits my.php. Then you try to commit your changes, getting the following message:
$ svn commit -m 'added authentication to my.php' Sending my.php Transmitting file data .svn: Commit failed (details follow): svn: Out of date: '/mod/my.php'
If you can't commit, you should update to get the latest copy of the file
$ svn update C my.php Updated to revision 10024
The C stands for conflict. Let's see what is conflicting.
$ vi my.php
<<<<<<< .mine
if ($auth) { continue; } else { exit; }
=======
if (!$auth) { exit; } else { continue; }
>>>>>>> .r10024
Now you can:
1. remove your changes
$ svn revert my.php $ svn update my.php
2. remove other user's changes
$ cp my.php.mine my.php $ svn resolved my.php
3. merge the two
svn resolved my.php
Obviously, you should be careful how you resolve the conflict. In this particular example, all three options would work, but this would rarely work in most conflicts. It would also be prudent to talk to the other coder before you remove his code.