# # # patch "paths.cc" # from [2a4f6b9799013def72046732e4572f4bf79c3524] # to [48204b427b950c618d3fc05be66018256d8c44f4] # # patch "tests/resolve_conflicts_all_merge_commands/__driver__.lua" # from [2e45edb822bc1b3bbc09e50e7b8e542e0cf6432d] # to [760d25d67c6852d96083b3d1c0177a9e97274481] # # patch "tests/resolve_conflicts_all_resolutions/__driver__.lua" # from [050392dc818517aa201a0930f59a1969c96c4495] # to [eb2e2dd5872306f5bbd0328a118806536d74420f] # # patch "tests/resolve_conflicts_all_resolutions/merge-1" # from [8e3a1ba80b20c6b945ab48e83d5ce0df06720c1a] # to [ee814b8ca07cd8626aeb8fd00052909488c48136] # ============================================================ --- paths.cc 2a4f6b9799013def72046732e4572f4bf79c3524 +++ paths.cc 48204b427b950c618d3fc05be66018256d8c44f4 @@ -489,7 +489,7 @@ bookkeeping_path::external_string_is_boo string normalized; try { - normalize_external_path(path(), normalized, true); + normalize_external_path(path(), normalized, false); } catch (informative_failure &) { ============================================================ --- tests/resolve_conflicts_all_merge_commands/__driver__.lua 2e45edb822bc1b3bbc09e50e7b8e542e0cf6432d +++ tests/resolve_conflicts_all_merge_commands/__driver__.lua 760d25d67c6852d96083b3d1c0177a9e97274481 @@ -1,5 +1,11 @@ --- Demonstrate that all merge commands support --resolve-conflicts. +-- Demonstrate that all non-workspace merge commands support --resolve-conflicts. -- +-- The merge commands are defined in cmd_merging.cc; search for CMD. +-- They are: merge, propagate, explicit_merge, merge_into_dir. +-- +-- propagate is implemented by calling merge_into_dir, +-- so we don't need to test the latter explicitly. + -- We don't explicitly test --resolve-conflicts-file, because that is -- handled by the same code, and other tests show it works. -- @@ -8,9 +14,6 @@ -- The test structure is borrowed from ../conflict_messages/__driver__.lua --- Note that 'propagate' is implemented by calling 'merge_into_dir', --- so we don't need to test the latter explicitly. - mtn_setup() function setup(branch) @@ -56,13 +59,15 @@ check(mtn("db", "kill_rev_locally", merg merged = merged_revision() check(mtn("db", "kill_rev_locally", merged), 0, nil, true) -check(mtn("explicit_merge", first, second, branch, -"--resolve-conflicts"), 0, nil, true) merged = merged_revision() +check(mtn("explicit_merge", first, second, branch,"--resolve-conflicts"), 0, nil, true) +merged = merged_revision() check(mtn("db", "kill_rev_locally", merged), 0, nil, true) -- create a second head on 'branch' writefile("foo", branch .. "-foo third revision") commit(branch) +check(mtn("conflicts", "store"), 0, nil, true) +check(mtn("conflicts", "resolve_first", "user", "foo"), 0, nil, nil) check(mtn("merge", "--branch", branch, "--resolve-conflicts"), 0, nil, true) merged = merged_revision() check(mtn("db", "kill_rev_locally", merged), 0, nil, true) ============================================================ --- tests/resolve_conflicts_all_resolutions/__driver__.lua 050392dc818517aa201a0930f59a1969c96c4495 +++ tests/resolve_conflicts_all_resolutions/__driver__.lua eb2e2dd5872306f5bbd0328a118806536d74420f @@ -104,8 +104,10 @@ check(samefilestd("conflicts-resolved", check(samefilestd("conflicts-resolved", "_MTN/conflicts-1")) --- This succeeds -check(mtn("merge", "--resolve-conflicts-file", "_MTN/conflicts-1"), 0, nil, true) +-- This succeeds. In 'mtn conflicts store' above, we specified 'abe_1, +-- beth_1', which is the opposite order that 'merge' would choose, so +-- we need to use 'explicit_merge' here. +check(mtn("explicit_merge", "--resolve-conflicts-file", "_MTN/conflicts-1", abe_1, beth_1, "testbranch"), 0, nil, true) canonicalize("stderr") check(samefilestd("merge-1", "stderr")) ============================================================ --- tests/resolve_conflicts_all_resolutions/merge-1 8e3a1ba80b20c6b945ab48e83d5ce0df06720c1a +++ tests/resolve_conflicts_all_resolutions/merge-1 ee814b8ca07cd8626aeb8fd00052909488c48136 @@ -1,8 +1,5 @@ -mtn: 2 heads on branch 'testbranch' -mtn: merge 1 / 1: -mtn: calculating best pair of heads to merge next -mtn: [left] 138053fd821daa41aa98e55641d087da1d70ca2b -mtn: [right] 6fcbac878d4e20dc024bf16e63bd88906ac21afd +mtn: [left] 6fcbac878d4e20dc024bf16e63bd88906ac21afd +mtn: [right] 138053fd821daa41aa98e55641d087da1d70ca2b mtn: dropping checkout_left.sh mtn: replacing content of checkout_left.sh with resolutions/checkout_left.sh mtn: replacing content of checkout_right.sh with resolutions/checkout_right.sh @@ -12,5 +9,4 @@ mtn: replacing content of user_file, use mtn: replacing content of interactive_file, interactive_file with _MTN/resolutions/interactive_file mtn: merged simple_file, simple_file mtn: replacing content of user_file, user_file with resolutions/user_file -mtn: [merged] d617fe493dc8a88bf4d5463b782208cb5e4c9768 -mtn: note: your workspaces have not been updated +mtn: [merged] 7bc079fffbffc9119869c770768e62ea058e35af