Author: philip
Date: Fri Jan 25 14:25:17 2013
New Revision: 1438536
URL: http://svn.apache.org/viewvc?rev=1438536&view=rev
Log:
Have move-update create workqueue items to delete working files
and directories.
* subversion/libsvn_wc/wc_db_update_move.c
(tc_editor_delete): Adjust how local modification indicators are used,
create workqueue items.
* subversion/libsvn_wc/wc-queries.sql
(STMT_SELECT_CHILDREN_OP_DEPTH):
Modified:
subversion/trunk/subversion/libsvn_wc/update_editor.c
subversion/trunk/subversion/tests/cmdline/update_tests.py
Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=1438536&r1=1438535&r2=1438536&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Fri Jan 25 14:25:17
2013
@@ -1353,7 +1353,8 @@ svn_wc__node_has_local_mods(svn_boolean_
SVN_ERR(err);
*modified = modcheck_baton.found_mod;
- *all_edits_are_deletes = !modcheck_baton.found_not_delete;
+ *all_edits_are_deletes = (modcheck_baton.found_mod
+ && !modcheck_baton.found_not_delete);
return SVN_NO_ERROR;
}
Modified: subversion/trunk/subversion/tests/cmdline/update_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/update_tests.py?rev=1438536&r1=1438535&r2=1438536&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/update_tests.py Fri Jan 25
14:25:17 2013
@@ -5464,14 +5464,13 @@ def update_moved_dir_leaf_del(sbox):
None, None, 1)
# Now resolve the conflict, using --accept=mine-conflict applying
- # the update to A/B/E2 causing a delete-delete conflict
+ # the update to A/B/E2
svntest.actions.run_and_verify_svn("resolve failed", None, [],
'resolve',
'--accept=mine-conflict',
sbox.ospath('A/B/E'))
expected_status.tweak('A/B/E', treeconflict=None)
- expected_status.tweak('A/B/E2/alpha', status='? ', treeconflict='C',
- copied=None, wc_rev=None)
+ expected_status.remove('A/B/E2/alpha')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
@XFail()
@@ -5699,15 +5698,14 @@ def update_moved_dir_file_move(sbox):
# The incoming change is a delete as we don't yet track server-side
# moves. Resolving the tree-conflict as "mine-conflict" applies the
- # delete to the move destination creating a delete-delete conflict.
+ # delete to the move destination.
svntest.actions.run_and_verify_svn("resolve failed", None, [],
'resolve',
'--accept=mine-conflict',
sbox.ospath('A/B/E'))
expected_status.tweak('A/B/E', treeconflict=None)
- expected_status.tweak('A/B/E2/alpha', status='? ', treeconflict='C',
- copied=None, wc_rev=None)
+ expected_status.remove('A/B/E2/alpha')
svntest.actions.run_and_verify_status(wc_dir, expected_status)