On Mar 16, 2012 5:30 AM, <phi...@apache.org> wrote: >... > +++ subversion/trunk/subversion/tests/cmdline/update_tests.py Fri Mar 16 09:29:49 2012 > @@ -5696,6 +5696,101 @@ def update_moved_dir_file_move(sbox): > None, None, None, > None, None, 1) > > +@XFail() > +def update_move_text_mod(sbox): > + "text mod to moved files" > + > + sbox.build() > + wc_dir = sbox.wc_dir > + svntest.main.file_append(sbox.ospath('A/B/lambda'), "modified\n") > + svntest.main.file_append(sbox.ospath('A/B/E/beta'), "modified\n") > + sbox.simple_commit() > + sbox.simple_update(revision=1) > + > + sbox.simple_move("A/B/E", "A/E2") > + sbox.simple_move("A/B/lambda", "A/lambda2") > + > + expected_status = svntest.actions.get_virginal_state(wc_dir, 1) > + expected_status.tweak('A/B/E', 'A/B/E/alpha', 'A/B/E/beta', 'A/B/lambda', > + status='D ') > + expected_status.add({ > + 'A/E2' : Item(status='A ', copied='+', wc_rev='-'), > + 'A/E2/alpha' : Item(status=' ', copied='+', wc_rev='-'), > + 'A/E2/beta' : Item(status=' ', copied='+', wc_rev='-'), > + 'A/lambda2' : Item(status='A ', copied='+', wc_rev='-'), > + }) > + > + svntest.actions.run_and_verify_status(wc_dir, expected_status) > + > + expected_output = svntest.wc.State(wc_dir, { > + 'A/lambda2' : Item(status='U '), > + 'A/E2/beta' : Item(status='U '), > + })
The above output for an 'svn update ' implies that the incoming edits will be applied to the moved files. I think that is wrong. I believe we should mark a conflict: incoming edit vs local move. The default resolution would be to apply, but I really do not believe we should silently update like this. Consider where I took some code that did X+Y and moved it to a new location, for use there (but not yet committed). Somebody else edits the code to remove Y, and commits. If I update, then the code I moved *changes* on me. I grabbed the code expecting X+Y. The removal of Y may have made sense in the old location, but not the new location. >... Cheers, -g