# # # rename "tests/two_parent_workspace_add_drop" # to "tests/two_parent_workspace_add_drop_rename" # # patch "ChangeLog" # from [4bd0a9026dc967ad9e71bdf02364c0d9863dc310] # to [e59002b36e85226cd0ad1f3fb0a011210d399b34] # # patch "tests/two_parent_workspace_add_drop_rename/__driver__.lua" # from [5f568bba71acd68d6e1cef71f10e23d413aa1069] # to [3c1cbba19fd6ccf653e860f09008b6863f938b4b] # # patch "testsuite.lua" # from [e6f54bde37c68d5599e119fc1fe69bbc10850687] # to [10d8ffa9ed36634db9af6840f03d950c321aa484] # # patch "work.cc" # from [e0974fb2658ef40ea976da179de4bd0dbe10ba4e] # to [a4d1f557c83a4a163641bc3519db36359538fb64] # ============================================================ --- ChangeLog 4bd0a9026dc967ad9e71bdf02364c0d9863dc310 +++ ChangeLog e59002b36e85226cd0ad1f3fb0a011210d399b34 @@ -1,3 +1,11 @@ +2007-02-07 Zack Weinberg + + * work.cc (perform_rename): Work in a two-parent workspace. + * tests/two_parent_workspace_add_drop: Rename to... + * tests/two_parent_workspace_add_drop_rename: ... this. + Add testing of renames. + * testsuite.lua: Update. + 2007-02-07 Matthew Gregan * work.cc (workspace::perform_additions, ============================================================ --- tests/two_parent_workspace_add_drop_rename/__driver__.lua 5f568bba71acd68d6e1cef71f10e23d413aa1069 +++ tests/two_parent_workspace_add_drop_rename/__driver__.lua 3c1cbba19fd6ccf653e860f09008b6863f938b4b @@ -21,3 +21,8 @@ check(qgrep("dropping fudgie", "stderr") check(mtn("drop", "fudgie"), 0, false, true) check(qgrep("dropping fudgie", "stderr")) + +check(mtn("rename", "-e", "foo", "bar"), 0, false, true) +check(qgrep("renaming foo to bar", "stderr")) + +commit() ============================================================ --- testsuite.lua e6f54bde37c68d5599e119fc1fe69bbc10850687 +++ testsuite.lua 10d8ffa9ed36634db9af6840f03d950c321aa484 @@ -712,5 +712,5 @@ table.insert(tests, "two_parent_workspac table.insert(tests, "merge_into_workspace_same_rev") table.insert(tests, "two_parent_workspace_commands_that_fail") table.insert(tests, "two_parent_workspace_pluck") -table.insert(tests, "two_parent_workspace_add_drop") +table.insert(tests, "two_parent_workspace_add_drop_rename") table.insert(tests, "two_parent_workspace_attrs") ============================================================ --- work.cc e0974fb2658ef40ea976da179de4bd0dbe10ba4e +++ work.cc a4d1f557c83a4a163641bc3519db36359538fb64 @@ -1420,8 +1420,7 @@ workspace::perform_rename(set bool execute) { temp_node_id_source nis; - roster_t base_roster, new_roster; - MM(base_roster); + roster_t new_roster; MM(new_roster); split_path dst; set srcs; @@ -1429,7 +1428,7 @@ workspace::perform_rename(set I(!src_paths.empty()); - get_base_and_current_roster_shape(base_roster, new_roster, nis); + get_current_roster_shape(new_roster, nis); dst_path.split(dst); @@ -1497,11 +1496,11 @@ workspace::perform_rename(set % file_path(i->second)); } - revision_id base_rev; - get_revision_id(base_rev); + parent_map parents; + get_parent_rosters(parents); revision_t new_work; - make_revision_for_workspace(base_rev, base_roster, new_roster, new_work); + make_revision_for_workspace(parents, new_roster, new_work); put_work_rev(new_work); if (execute)