On the tree-conflicts branch, there are now three different types of conflicts:
1. text conflicts (flagged on files)
2. property conflicts (flagged on files and directories)
3. tree conflicts (flagged on directories)
Note that 1. and 2. can happen at the same time for files,
and 2. and 3. can happen at the same time for directories.
For all three cases, the error message upon commit is:
svn: Commit failed (details follow):
svn: Aborting commit: '/tmp/wc-trunk/A' remains in conflict
This is really,really uninformative. We should consider printing a
more descriptive message than that, for all kinds of conflicts.
The message should include the type of conflict that prevents
the item from being committed.
A few examples of what I imagine this could look like:
For text and property conflicts, on both files and directories:
svn: Aborting commit: '/tmp/wc-trunk/A' has a text conflict
svn: Aborting commit: '/tmp/wc-trunk/A' has a property conflict
For tree conflicts on directories:
svn: Aborting commit: '/tmp/wc-trunk/A' contains tree-conflict victims
For tree conflict victims (currently only files can be tree-conflict victims,
but that may change in the future):
svn: Aborting commit: '/tmp/wc-trunk/A' is the victim of a tree conflict
Also, we should consider adding a brief sentence explaining how more
information about the conflict can be obtained. This is really important
for tree conflicts, where the user currently needs to run 'svn status'
on a directory containing tree conflicts to see the list of victims.
This is not intuitive at all so I'd really like to provide our users
a bit of guidance in this case. For example:
svn: Aborting commit: '/tmp/wc-trunk/A' contains tree-conflict victims
Run 'svn info /tmp/wc-trunk/A' for more information
For text and property conflicts, we might just as well make the UI consistent,
and mention briefly how these conflicts can be resolved by manual editing and
interactive conflict resolution.
I won't provide examples for this because cmpilato changed the way conflict
resolution is done about two hours ago, and I'm not sure yet what the
new way is exactly and whether it's already set in stone.
http://svn.collab.net/repos/svn/branches/tree-conflicts