We’ve already seen how
svn status -u can predict
conflicts. Suppose you run
svn update and some
interesting things occur:
$ svn update U INSTALL G README Conflict discovered in 'bar.c'. Select: (p) postpone, (df) diff-full, (e) edit, (h) help for more options:
G codes are no cause
for concern; those files cleanly absorbed changes from the repository.
The files marked with
contained no local changes but were
Updated with changes from the
stands for mer
which means that the file had local changes to begin with, but
the changes coming from the repository didn’t overlap with the local
But the next two lines are part of a feature (new in Subversion
1.5) called interactive conflict resolution.
This means that the changes from the server overlapped with your own,
and you have the opportunity to resolve this conflict. The most commonly
used options are displayed, but you can see all of the options by typing
... (p) postpone - mark the conflict to be resolved later (df) diff-full - show all changes made to merged file (e) edit - change merged file in an editor (r) resolved - accept merged version of file (mf) mine-full - accept my version of entire file (ignore their changes) (tf) theirs-full - accept their version of entire file (lose my changes) (l) launch - launch external tool to resolve conflict (h) help - show this list
Let’s briefly review each of these options before we go into detail on what each ...