Diff-3 (conflict)

When performing an update or a merge operation subversion will merge the differences from files in the repository to the working copy. During this operation the following may occur:

The first two cases result in an 'up-to-date' status. There is therefore no reason for concern. However the third case results in a 'conflict' status that means the changes from the server overlapped with those in the working copy and must be manually resolved by choosing between them.

When a file is in the 'conflict' status eSvn the file is marked with the 'conflict' icon, 3 different files are created and conflicted markers are added:

[filename].mine

This is the file that existed in working copy before the update operation. This file does not contain conflict markers it is your local changes and nothing else.

[filename].r[OLDREV]

This is the file that was the BASE revision before the update operation. That is, the file checked out before editing.

[filename].r[NEWREV]

This is the file that eSvn just received from the repository as a result of the update operation. This file corresponds to the HEAD revision of the repository.

To resolve this situation you can edit the file manually in order to resolve all conflicts (marked with <<<< and >>>>) or use Diff 3 (conflict) option ( Query->Diff-3 (conflict) (Ctrl+Shft+F9) ). This option passes the three files to the external 3-way diff application specified in the Options dialog. Use this application to view the differences between the files and merge them to your working file.

In some cases it is not th keeping the changes made in [filename].mine. In this case you may also:

When this is done, remember to use the resolved option ( Modify->Resolved (Alt+E) ) to inform subversion that the conflict in fixed. This will remove the temporary files ( [filename].r[OLDREV] and [filename].r[NEWREV]) from the working copy and enable eSvn to perform a commit operation. Before this is done, eSvn will not allow commit operations on the working copy.