Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SVN. Retry interactive conflict resolution

Tags:

svn

If I do an update in SVN that results in a conflict SVN offers me a range of options for handling the conflict of each file, including accepting either file, launching an external merge program, or postponing the conflict resolution.

If I choose to postpone resolving the conflict, how do I get SVN to repeat the conflict resolution process. Specifically how do I get SVN to re-offer the choice of accepting either file or launching an external merge tool?

[Update] In response to Thomas and Skippy's replies.

Thanks for the answers. So as it appeared SVN doesn't have a command to rerun the conflict resolution process. Personally I think that sucks.

One of the choices of the SVN conflict resolution process is the option to select which file I wish to keep. Doing this within SVN has the advantage that SVN itself then handles the copying and deleting of the appropriate files, this precludes the need for the user to mess with the filesystem directly and reduces the potential for making a mistake.

Another choice the SVN conflict resolution process offers is the option to launch an external merge editor. The editor that is launched and how it is setup can be configured within the SVN config file. This is very convenient as it means the user doesn't have to manually load the three files into the external merge editor.

Apart from that it simply hasn't been coded is there any reason SVN doesn't offer the facility to restart the conflict resolution process? (Perhaps by calling svn resolve with just a path argument). Another reason this would be nice is that it might offer the choice of resolving one file, or function recursively on a working copy, or subtree within a working copy.

like image 864
Neutrino Avatar asked May 04 '12 09:05

Neutrino


People also ask

How do I resolve conflicts in SVN?

To resolve a conflict do one of three things: Merge the conflicted text by hand (by examining and editing the conflict markers within the file). Copy one of the temporary files on top of the working file. Run svn revert FILENAME to throw away all of the local changes.

What causes SVN conflicts?

When you merge your branch back into the trunk, SVN tries to do the same again: It sees that a file was created in your branch, and tries to create it in your trunk in the merge commit, but it already exists! This creates a tree conflict. The way to avoid this, is to do a special merge, a reintegration.

What is SVN tree conflict?

Since 1.6 version SVN recognizes a new kind of conflict, known as a "tree conflict". Such conflicts manifest at the level of directory structure, rather than file content. Situations now flagged as conflicts include deletions of locally modified files, and incoming edits to locally deleted files.


2 Answers

In svn 1.8.8 if you run "svn resolve " on file of interest, svn will offer interactive conflict resolution

like image 111
Oleksandr Vitvitskyi Avatar answered Oct 23 '22 05:10

Oleksandr Vitvitskyi


You simply can't get it to re-offer the choice. You have no choice but the following ones :

  • Merge the conflicted text “by hand” (by examining and editing the conflict markers within the file).

  • Copy one of the temporary files on top of your working file.

  • Run svn revert to throw away all of your local changes.

Once you've resolved the conflict, you need to let Subversion know by running svn resolved. This removes the three temporary files and Subversion no longer considers the file to be in a state of conflict.[6]

(from http://chestofbooks.com/computers/revision-control/subversion-svn/Postponing-Conflict-Resolution-Tour-Cycle-Resolve-Pending.html )

like image 36
Skippy Fastol Avatar answered Oct 23 '22 04:10

Skippy Fastol