On Wed, Aug 18, 2010 at 11:38:28AM +0100, emerson wrote: > I'm trying to run a merge with different revisions. We use a two tier > codebase approach with trunk and a stable branch and selectively > cherry-pick what should be merged.
This is a rather vague description of what you are doing. If you need more detailed help after reading my reply, please provide full copy/paste of the commands you are running and their output. Feel free to anonymize filenames or other sensitive bits of data in the output if necessary. > After merging a few revisions, I have a "Summary of conflicts: Tree > conflicts: 2" message. How can I find out which the revisions actually > had the tree conflict? You'll need to dig in the log history. There is no standard recipe for resolving tree conflicts. The three steps to handle tree conflicts are: 1) Understand why there is a conflict (look through the logs, ask people) 2) Decide what you want the merge result to be, i.e. what is the desired state of your working copy after resolving the conflict? 3) Determine how to get from the current state to the desired state using Subversion commands, run those commands, and mark the conflict as resolved. > The tree conflict messages are also really vague, without telling > exactly what the conflict is, which file or folder is missing or > whichever reason caused the tree conflict. Is there any way to get the > reason of the tree conflict? The tree conflict is described in the merge output, but if that scrolled past you can still retrieve it from "svn status": $ svn status D C alpha > local delete, incoming edit upon update Summary of conflicts: Tree conflicts: 1 $ In this example, the file 'alpha' was deleted locally in the working copy, but an incoming update tried to edit 'alpha'. You can use "svn info" to find out a bit more: $ svn info alpha Path: alpha Name: alpha URL: file:///tmp/svn-sandbox/repos/trunk/alpha Repository Root: file:///tmp/svn-sandbox/repos Repository UUID: fa39d956-aaba-11df-9b53-e7fc3ea7c793 Revision: 3 Node Kind: file Schedule: delete Last Changed Author: stsp Last Changed Rev: 1 Last Changed Date: 2010-08-18 13:23:08 +0200 (Wed, 18 Aug 2010) Text Last Updated: 2010-08-18 13:23:08 +0200 (Wed, 18 Aug 2010) Checksum: d046cd9b7ffb7661e449683313d41f6fc33e3130 Tree conflict: local delete, incoming edit upon update Source left: (file) ^/trunk/al...@2 Source right: (file) ^/trunk/al...@3 The tells you which versions of alpha are involved the conflict. You can look into the log messages of the respective revisions to find out what changes were made which conflict with local changes. Note that the URLs are not always accurate, e.g. for locally added files the URLs may not really make sense. See http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html for more information about tree conflicts. Stefan