# # # add_dir "tests/update_clobbers_workspace" # # add_file "tests/update_clobbers_workspace/__driver__.lua" # content [a8570a30a00c76ab80ea93bf55b6594a7e1bb7f6] # # patch "ChangeLog" # from [b7c804def99f82f1e41c62913eff732b24079514] # to [e9264d3ff4016a1e430c53078388e675a27d9ff2] # # patch "testsuite.lua" # from [c873f86e951199d0a6c56252ecb0b5f547fb872a] # to [6318f3eb4391d1121db27facd4821cf6c686d2bc] # ============================================================ --- tests/update_clobbers_workspace/__driver__.lua a8570a30a00c76ab80ea93bf55b6594a7e1bb7f6 +++ tests/update_clobbers_workspace/__driver__.lua a8570a30a00c76ab80ea93bf55b6594a7e1bb7f6 @@ -0,0 +1,43 @@ +mtn_setup() + +addfile("base", "base") +commit() +base = base_revision() + +mkdir("foo") +addfile("file1", "file1") +addfile("foo/file2", "foofile2") +commit() + +-- update clean workspace +mkdir("test1") +check(indir("test1", mtn("checkout", "--revision", base, "."))) +check(indir("test1", mtn("update")), 0, false, true) + +-- update workspace with an unversioned file blocking a versioned file +-- clobbers unversioned file +mkdir("test2") +writefile("test2/file1", "blocker") +check(indir("test2", mtn("checkout", "--revision", base, "."))) +check(indir("test2", mtn("update")), 0, false, true) +check(samefile("file1", "test2/file1")) + +-- update workspace with an unversioned directory blocking a versioned directory +mkdir("test3") +mkdir("test3/foo") +writefile("test3/foo/asdf", "asdf") +check(indir("test3", mtn("checkout", "--revision", base, "."))) +check(indir("test3", mtn("update")), 1, false, true) +check(exists("test3/foo/asdf")) + +-- update workspace with an unversioned directory blocking a versioned file +mkdir("test4") +mkdir("test4/file1") +check(indir("test4", mtn("checkout", "--revision", base, "."))) +check(indir("test4", mtn("update")), 1, false, true) + +-- update workspace with an unversioned file blocking a versioned directory +mkdir("test5") +writefile("test5/foo", "foobar") +check(indir("test5", mtn("checkout", "--revision", base, "."))) +check(indir("test5", mtn("update")), 1, false, true) ============================================================ --- ChangeLog b7c804def99f82f1e41c62913eff732b24079514 +++ ChangeLog e9264d3ff4016a1e430c53078388e675a27d9ff2 @@ -1,3 +1,9 @@ +2006-12-28 Derek Scherger + + * tests/update_clobbers_workspace/__driver__.lua: new test to + see how update handles various workspace conflicts + * testsuite.lua: call it + 2006-12-28 Richard Levitte * examples/mirror.rc: An incomplete example specification for ============================================================ --- testsuite.lua c873f86e951199d0a6c56252ecb0b5f547fb872a +++ testsuite.lua 6318f3eb4391d1121db27facd4821cf6c686d2bc @@ -699,4 +699,5 @@ table.insert(tests, "checkout_clobbers_w table.insert(tests, "add_ignores__MTN") table.insert(tests, "missing_empty_dir") table.insert(tests, "checkout_clobbers_workspace") +table.insert(tests, "update_clobbers_workspace")