# # # add_dir "tests/diff_patch_add" # # add_dir "tests/diff_patch_drop" # # add_dir "tests/diff_patch_rename" # # add_file "tests/diff_patch_add/__driver__.lua" # content [ab09e1d10256e16a05945dd05e6055d0b76f14f3] # # add_file "tests/diff_patch_drop/__driver__.lua" # content [088c8ba2bdf2854861fc6c67eae30fb674886bd9] # # add_file "tests/diff_patch_rename/__driver__.lua" # content [f3ba5984797f5cf9eaff2a6c417b914cb719bffe] # # patch "tests/diff_restriction_renamed_parent/__driver__.lua" # from [5d5547bc3ffacc13fb27a3adc1a7414279149510] # to [1fa2ff717d0eaba01be5536b296d3ad1eeafd3a9] # # patch "tests/diff_shows_renames/__driver__.lua" # from [2923fb883a3683388133bb8b3862bb84ae207982] # to [aac530fcf51c3773c72bb5f7071f60fc04cf1e57] # # patch "tests/diffing_a_revision_with_an_added_file/__driver__.lua" # from [d221be9fd6460f6e9e16498db2910dba3a3cf1ee] # to [66955d5af876eae94d642151a03921996efd25ef] # # patch "tests/log_--diffs/__driver__.lua" # from [731ccabe31f55e2930ca5f47a79aaf838f9ec2ad] # to [feaf32209db7e57b3520c6d3f7dfde930ef76383] # # patch "tests/log_--diffs/expect_full" # from [643465f483a5682c482871c2c7cffb2b7fa1d1c2] # to [c4799111d8d1119dde869949d09a8a2c6e00bdc7] # # patch "tests/log_--diffs/expect_restrict" # from [3c5d7b38c1a92689daea6f5c6fec4125e2cbc255] # to [8c333bf33df8074f758eb4db896641486d44062a] # # patch "tests/restricted_diff_bug/__driver__.lua" # from [e620f7cab9f6ae6cf8ff5d3d4a90bce1ec4d2bff] # to [de373f96e3ff7816b0b73f5adc34eead19b4511c] # ============================================================ --- tests/diff_patch_add/__driver__.lua ab09e1d10256e16a05945dd05e6055d0b76f14f3 +++ tests/diff_patch_add/__driver__.lua ab09e1d10256e16a05945dd05e6055d0b76f14f3 @@ -0,0 +1,24 @@ +skip_if(not existsonpath("patch")) + +mtn_setup() + +mkdir("dir") +addfile("dir/file", "foobar") +id = sha1("dir/file") + +check(mtn("diff"), 0, true, false) +rename("stdout", "diff") + +-- the source of an addition should be /dev/null + +check(qgrep("^--- /dev/null $", "diff")) +check(qgrep("^\\+\\+\\+ dir/file " .. id .. "$", "diff")) + +-- patch should re-create the file + +remove("dir/file") +copy("diff", "stdin") +check({"patch", "-p0"}, 0, false, false, true) + +check(exists("dir/file")) +check(qgrep("foobar", "dir/file")) ============================================================ --- tests/diff_patch_drop/__driver__.lua 088c8ba2bdf2854861fc6c67eae30fb674886bd9 +++ tests/diff_patch_drop/__driver__.lua 088c8ba2bdf2854861fc6c67eae30fb674886bd9 @@ -0,0 +1,30 @@ +skip_if(not existsonpath("patch")) + +mtn_setup() + +mkdir("dir") +addfile("dir/file", "foobar") +id = sha1("dir/file") + +commit() + +check(mtn("drop", "dir/file"), 0, false, false) +check(mtn("diff"), 0, true, false) +rename("stdout", "diff") + +-- the target of a deletion should be /dev/null + +check(qgrep("^--- dir/file " .. id .. "$", "diff")) +check(qgrep("^\\+\\+\\+ /dev/null $", "diff")) + +check(mtn("revert", "dir/file"), 0, false, false) +check(exists("dir/file")) + +-- patch should remove the file +-- but it is a little aggressive and removes the dir too! + +copy("diff", "stdin") +check({"patch", "-p0"}, 0, false, false, true) + +check(not exists("dir/file")) +check(not exists("dir")) ============================================================ --- tests/diff_patch_rename/__driver__.lua f3ba5984797f5cf9eaff2a6c417b914cb719bffe +++ tests/diff_patch_rename/__driver__.lua f3ba5984797f5cf9eaff2a6c417b914cb719bffe @@ -0,0 +1,39 @@ +skip_if(not existsonpath("patch")) + +mtn_setup() + +mkdir("dir1") +mkdir("dir2") +addfile("dir1/file1", "foobar") +id1 = sha1("dir1/file1") + +commit() + +writefile("dir1/file1", "barfoo") +check(mtn("mv", "dir1/file1", "dir2/file2"), 0, false, false) +id2 = sha1("dir2/file2") + +check(mtn("diff"), 0, true, false) +rename("stdout", "diff") + +-- the source and targets of the diff shoud show a rename + +check(qgrep("^--- dir1/file1 " .. id1 .. "$", "diff")) +check(qgrep("^\\+\\+\\+ dir2/file2 " .. id2 .. "$", "diff")) + +check(mtn("revert", "."), 0, false, false) + +-- revert will leave this laying around +check(exists("dir2")) +remove("dir2") +check(exists("dir1/file1")) + +-- ideally patch would actuall rename the file and directory but alas it doesn't +-- it does still seem to apply the content changes + +copy("diff", "stdin") +check({"patch", "-p0"}, 0, false, false, true) + +check(exists("dir1/file1")) +check(not exists("dir2/file2")) +check(qgrep("barfoo", "dir1/file1")) ============================================================ --- tests/diff_restriction_renamed_parent/__driver__.lua 5d5547bc3ffacc13fb27a3adc1a7414279149510 +++ tests/diff_restriction_renamed_parent/__driver__.lua 1fa2ff717d0eaba01be5536b296d3ad1eeafd3a9 @@ -13,4 +13,5 @@ commit() writefile("parent2/file1", "something else") commit() +-- fixme xfail(mtn("diff", "-r", orig, "parent2/file1"), 0, true, true) ============================================================ --- tests/diff_shows_renames/__driver__.lua 2923fb883a3683388133bb8b3862bb84ae207982 +++ tests/diff_shows_renames/__driver__.lua aac530fcf51c3773c72bb5f7071f60fc04cf1e57 @@ -20,5 +20,6 @@ check(mtn("diff"), 0, true, false) check(mtn("mv", "foo", "newfoo"), 0, false, false) writefile("newfoo/bar", "version 2!\n") check(mtn("diff"), 0, true, false) +-- fixme xfail(qgrep("^--- foo/bar\t", "stdout")) check(qgrep("^\\+\\+\\+ newfoo/bar\t", "stdout")) ============================================================ --- tests/diffing_a_revision_with_an_added_file/__driver__.lua d221be9fd6460f6e9e16498db2910dba3a3cf1ee +++ tests/diffing_a_revision_with_an_added_file/__driver__.lua 66955d5af876eae94d642151a03921996efd25ef @@ -9,3 +9,4 @@ check(mtn("diff", "--revision", parent, commit() check(mtn("diff", "--revision", parent, "--revision", base_revision()), 0, false, false) +-- fixme assert something!?! ============================================================ --- tests/log_--diffs/__driver__.lua 731ccabe31f55e2930ca5f47a79aaf838f9ec2ad +++ tests/log_--diffs/__driver__.lua feaf32209db7e57b3520c6d3f7dfde930ef76383 @@ -34,7 +34,7 @@ check(samefile("expect_full", "full")) check(samefile("expect_full", "full")) -- restrict to foo2 and quux -check(mtn("log", "--no-graph", "quux", "--diffs", "foo2"), 0, true, false) +check(mtn("log", "--no-graph", "", "quux", "foo2", "--depth", "0", "--diffs"), 0, true, false) check(grep("^(---|\\+\\+\\+) ", "stdout"), 0, true, false) rename("stdout", "restrict") check(get("expect_restrict")) ============================================================ --- tests/log_--diffs/expect_full 643465f483a5682c482871c2c7cffb2b7fa1d1c2 +++ tests/log_--diffs/expect_full c4799111d8d1119dde869949d09a8a2c6e00bdc7 @@ -2,11 +2,11 @@ +++ bar 17ecc84b62b35bcf309c0b246cba8641426ad35d --- foo 5527e63e7193ef5fadbc8fd40cc8092d742602e7 +++ foo2 6d0789008812dd091f3e0c97d6606bf427cf82e4 ---- quux f3d9ae4aeea6946a8668445395ba10b7399523a0 +--- /dev/null +++ quux f3d9ae4aeea6946a8668445395ba10b7399523a0 --- foo f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 +++ foo 5527e63e7193ef5fadbc8fd40cc8092d742602e7 ---- bar e242ed3bffccdf271b7fbaf34ed72d089537b42f +--- /dev/null +++ bar e242ed3bffccdf271b7fbaf34ed72d089537b42f ---- foo f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 +--- /dev/null +++ foo f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 ============================================================ --- tests/log_--diffs/expect_restrict 3c5d7b38c1a92689daea6f5c6fec4125e2cbc255 +++ tests/log_--diffs/expect_restrict 8c333bf33df8074f758eb4db896641486d44062a @@ -1,8 +1,8 @@ --- foo 5527e63e7193ef5fadbc8fd40cc8092d742602e7 +++ foo2 6d0789008812dd091f3e0c97d6606bf427cf82e4 ---- quux f3d9ae4aeea6946a8668445395ba10b7399523a0 +--- /dev/null +++ quux f3d9ae4aeea6946a8668445395ba10b7399523a0 --- foo f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 +++ foo 5527e63e7193ef5fadbc8fd40cc8092d742602e7 ---- foo f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 +--- /dev/null +++ foo f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 ============================================================ --- tests/restricted_diff_bug/__driver__.lua e620f7cab9f6ae6cf8ff5d3d4a90bce1ec4d2bff +++ tests/restricted_diff_bug/__driver__.lua de373f96e3ff7816b0b73f5adc34eead19b4511c @@ -48,5 +48,5 @@ check(mtn("diff"), 0, false, false) check(mtn("mv", "dir1", "dir2"), 0, false, false) writefile("dir2/test.txt", "boohoo") check(mtn("diff"), 0, false, false) +-- fixme xfail(mtn("diff", "dir2/test.txt"), 0, false, false) -