Once in a while, you will get a conflict when
you update your files from the repository. A conflict
occurs when two or more developers have changed the same
few lines of a file. As Subversion knows nothing of your
project, it leaves resolving the conflicts to the developers.
Whenever a conflict is reported, you should open the file in
question, and search for lines starting with the string
<<<<<<<
.
The conflicting area is marked like this:
<<<<<<< filename your changes ======= code merged from repository >>>>>>> revision
Also, for every conflicted file Subversion places three additional files in your directory:
This is your file as it existed in your working copy before you updated your working copy - that is, without conflict markers. This file has your latest changes in it and nothing else.
This is the file that was the BASE revision before you updated your working copy. That is, it the file that you checked out before you made your latest edits.
This is the file that your Subversion client just received from the server when you updated your working copy. This file corresponds to the HEAD revision of the repository.
You can either launch an external merge tool / conflict editor with
→ or you can use any other editor to manually resolve the conflict. You should decide what the code should look like, do the necessary changes and save the file.
Afterwards execute the command
filename.ext.mine
and
filename.ext.r*
files,
to allow you to commit your changes.
If you have conflicts with binary files, Subversion does
not attempt to merge the files itself. The local file remains
unchanged (exactly as you last changed it) and you have
filename.ext.r*
files.
If you want to discard your changes and keep the repository
version, just use the Revert command. If you want to keep
your version and overwrite the repository version, use the
Resolved command, then commit your version.
You can use the Resolved command for multiple files if you right click on the parent folder and select
→ This will bring up a dialog listing all conflicted files in that folder, and you can select which ones to mark as resolved.