Ping. This thread has received no new comments.
On 28/01/2011, at 6:40 PM, Noorul Islam K M wrote: > Daniel Shahaf <d...@daniel.shahaf.name> writes: > >> Noorul Islam K M wrote on Fri, Jan 28, 2011 at 12:27:46 +0530: >> >>> Daniel Shahaf <d...@daniel.shahaf.name> writes: >>> >>>> Looks good, but I have a question: >>>> >>>> Noorul Islam K M wrote on Wed, Jan 26, 2011 at 13:12:54 +0530: >>>>> >>>>> Attached is the python test for issue 3013. This incorporates the steps >>>>> from the shell script attached in the tracker. >>>>> >>>>> Log >>>>> [[[ >>>>> >>>>> New XFail test for issue 3013. >>>>> >>>>> * subversion/tests/cmdline/update_tests.py >>>>> (update_after_switching_to_deleted_path, test_list): New XFail test >>>>> >>>>> Patch by: Noorul Islam K M <noorul{_AT_}collab.net> >>>>> ]]] >>>>> >>>>> Thanks and Regards >>>>> Noorul >>>>> >>>> >>>>> Index: subversion/tests/cmdline/update_tests.py >>>>> =================================================================== >>>>> --- subversion/tests/cmdline/update_tests.py (revision 1063610) >>>>> +++ subversion/tests/cmdline/update_tests.py (working copy) >>>>> @@ -5347,6 +5347,34 @@ >>>>> svntest.main.run_svn(None, 'delete', os.path.join('A2', 'mu')) >>>>> svntest.main.run_svn(None, 'update', os.path.join('A2', 'mu')) >>>>> >>>>> +### regression test for issue #3013 >>>>> +def update_after_switching_to_deleted_path(sbox): >>>>> + "update after switching to deleted path" >>>>> + >>>>> + sbox.build() >>>>> + wc_dir = sbox.wc_dir >>>>> + repo_url = sbox.repo_url >>>>> + >>>>> + # switch to A/B >>>>> + svntest.actions.run_and_verify_svn2(None, None, [], 0, 'switch', >>>>> + repo_url + "/A/B", wc_dir) >>>>> + >>>>> + # delete A/D >>>>> + svntest.actions.run_and_verify_svn2(None, None, [], 0, 'rm', >>>>> + repo_url + "/A/D", '-m', >>>>> + 'Remove A/D') >>>>> + >>>>> + # switch to A/D and this is known to fail >>>>> + svntest.actions.run_and_verify_svn2(None, None, >>>>> svntest.verify.AnyOutput, >>>>> + 1, 'switch', repo_url + "/A/D", >>>>> wc_dir) >>>>> + >>>>> + # switch to A/D@1 and this is known to succeed >>>>> + svntest.actions.run_and_verify_svn2(None, None, [], 0, 'switch', >>>>> + repo_url + "/A/D@1", wc_dir) >>>>> + >>>>> + # update should succeed >>>>> + svntest.actions.run_and_verify_svn2(None, None, [], 0, "up", wc_dir) >>>>> + >>>> >>>> Should this 'update' succeed? In my testing, updating the wc root to >>>> a revision it does not exist in fails. >>> >>> "/A/D" @ revision 1 does exist. So update should succeed but it is >>> failing. This is the issue. >>> >> >> I think the issue is that the 'switch' is failing, nothing about the >> update. >> >> But, in fact: both switch and update work as long as the directory >> they're targetting is a wc subdir (as opposed to a wc root). Therefore, >> I'm inclined to mark the issue as FIXED and adjust the test to test that >> the switch works when the being-switched directory is not the wc root. >> >> Thoughts? >> > > Pasting our conversation on IRC here. > > <noorul> danielsh_: The switch is known fail @HEAD and not @1 [12:48] > <noorul> A/D is non-existent @HEAD and existent @1 hence first switch is known > to fail and the second one to succeed > <noorul> When the second one succeeds the subsequent update should update WC > with repo_url@1 [12:49] > <danielsh_> noorul: see mail, I think it's a different issue, > <danielsh_> the switch actually works when you do 'svn sw $URL > /path/to/wc/rootdir/some/subdir' > <noorul> I think I correctly converted > > http://subversion.tigris.org/nonav/issues/showattachment.cgi/1157/3013.sh > into a test [12:52] > <danielsh_> yes > <danielsh_> I think the 'update' shouldn't have been in the .sh script either > btw [12:53] > <danielsh_> but that's history > <noorul> Before svn update if we use 'svn info' we could see that it is > pointing to repo_url@1 [12:54] > <noorul> Shouldn't svn up bring wc in sync with that revision? > <noorul> A/D existing @1 the error message is misleading [12:55] > <danielsh_> currently the 'up' fails iff the > dir-being-updated-past-its-deletion is the wc root > <danielsh_> I think that's sensible, > <danielsh_> to error if the wcroot would have to be deleted, > <danielsh_> but feel free to discuss that on dev@ > <danielsh_> re error messages: haven't checked whether they're misleading or > not > <danielsh_> haven't read them actually, just checked if the up succeeded or > not and what rev it put me at > <noorul> danielsh_: Do you mean to say that "svn up A/D" would succeed instead > of "svn up ." [13:03] > <danielsh_> noorul: svn rm ^/A/D; svn up A/D/; <-- succeeds [13:04] > <danielsh_> noorul: svn co ^/A foo; cd foo; svn rm ^/A; svn up; <-- fails > <danielsh_> that's current behaviour [13:05] > <noorul> danielsh_: With respect to the test case [13:06] > <noorul> I mean the test case that I submitted, do you think that svn up > should succeed? > <danielsh_> noorul: I think the 'svn up' doesn't belong in that test case, I > think that issue is only about the 'switch'. > <danielsh_> (that's my opinion; other devs may disagree with me) > > Thanks and Regards > Noorul