Shelving: Detect and refuse to shelve an unversioned tree-conflicted victim path.
Previously a path with this status was silently skipped.
* subversion/libsvn_client/shelf.c
(write_changes_visitor): Detect and refuse all conflicts.
[A test was added later in r1833168.]
@@ -974,7 +974,14 @@ write_changes_visitor(void *baton,
const char *wc_relpath = svn_dirent_skip_ancestor(wb->wc_root_abspath,
local_abspath);
- switch (status->node_status)
+ /* Catch any conflict, even a tree conflict on a path that has
+ node-status 'unversioned'. */
+ if (status->conflicted)
+ {
+ SVN_ERR(notify_not_shelved(wb, wc_relpath, local_abspath,
+ status, scratch_pool));
+ }
+ else switch (status->node_status)
{
case svn_wc_status_deleted:
case svn_wc_status_added:
