I got an add-vs-add tree conflict during update, after applying a patch
which I had also separately committed to the repo from a different WC.
Here is how it looked:
> $ svn up
> Updating '.':
> G subversion/svn/svn.c
> C subversion/svn/shelve-cmd.c
> Updated to revision 1801596.
> Summary of conflicts:
> Tree conflicts: 1
> Searching tree conflict details for 'subversion/libsvn_client/shelve.c' in repository:
> Checking r1801595... done
> Tree conflict on 'subversion/libsvn_client/shelve.c':
> A new file appeared during update to r1801596; it was added by julianfoad in r1801595.
> A file scheduled to be added to the repository in the next commit was found in the working copy.
> Select: (p) Postpone, (r) Mark as resolved, (m) Merge the files, (h) Help,
> (q) Quit resolution: r
> Tree conflict at 'subversion/libsvn_client/shelve.c' marked as resolved.
> $ svn st
> M subversion/svn/svn.c
> RM subversion/svn/shelve-cmd.c
The "Replaced" status is a possible resolution, but not the one I
wanted, and I could not tell that is what I was going to get.
An improvement would be to show the pending status, perhaps like this:
...
> A file scheduled to be added to the repository in the next commit was found in the working copy.
> Pending status of the file is:
> RM subversion/svn/shelve-cmd.c
> Select: (p) Postpone, (r) Mark as resolved, (m) Merge the files, (h) Help,
...
Certainly for tree conflicts I expect seeing the pending status would
always be useful; also for non-tree conflicts I expect it would often be
useful.
(Other improvements might include that the default resolution for
add-vs-add during update should not be "replaced", but I'd like to
discuss that elsewhere and keep this thread focused on showing the
pending status.)
- Julian
Received on 2017-07-11 17:33:45 CEST