monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] net.venge.monotone.issue-209: 4f2462d54adbe31ab


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone.issue-209: 4f2462d54adbe31abf38ccbb025af9830166feee
Date: Mon, 23 Jul 2012 11:01:11 +0200 (CEST)

revision:            4f2462d54adbe31abf38ccbb025af9830166feee
date:                2012-07-22T02:12:48
author:              address@hidden
branch:              net.venge.monotone.issue-209
changelog:
resolve_conflicts_dropped_modified: all tests passing on windows mingw; needs 
more test cases

* src/cmd_conflicts.cc (set_first_conflict): fix bug

* src/merge_conflict.cc (resolve_dropped_modified_conflicts): look up rid for 
mtn::resolve_conflict attr

* test/func/resolve_conflicts_dropped_modified_2/__driver__.lua: match code 
changes

* test/func/resolve_conflicts_dropped_modified_upstream_vs_local_attr: renamed

* 
test/func/resolve_conflicts_dropped_modified_upstream_vs_local_attr/__driver__.lua:
 match code changes, add fixme

* test/func/resolve_conflicts_errors/__driver__.lua: match code changes

* test/func/resolve_conflicts_orphaned_file/__driver__.lua: add fixme

manifest:
format_version "1"

new_manifest [d244a912d4486445e901c4e184cd2e6805cad0af]

old_revision [fe35a2d7a47e7e05ca1b06b962a2c40c87086463]

rename "test/func/resolve_conflicts_dropped_modified_upstream_vs_local"
    to "test/func/resolve_conflicts_dropped_modified_upstream_vs_local_attr"

patch "src/cmd_conflicts.cc"
 from [dc33213407b40ba4981d011ba0b80cb88f8c6627]
   to [16d359c7c1defe51ec7c930266fee21326aa7017]

patch "src/merge_conflict.cc"
 from [37b47f167e03c72b9279f362b7fceb435b29150b]
   to [13a9a9235a39333ad6a247b138dc449b6e2b0fc8]

patch "test/func/resolve_conflicts_dropped_modified_2/__driver__.lua"
 from [e1bd2fed5032ea4cb911ffc1289b1830e2195e1c]
   to [5595825e6da1a21e03d0ff0aab288d27755df0a7]

patch 
"test/func/resolve_conflicts_dropped_modified_upstream_vs_local_attr/__driver__.lua"
 from [e7f37ed8b1a65325390ad4f1ade33904e7535381]
   to [5ca6fd173e372916aa7d3e29f902a1837825a497]

patch "test/func/resolve_conflicts_errors/__driver__.lua"
 from [9a130c83d4a7e3545f18d089542603c8d0bb72fa]
   to [11875ef629e7e6fbce9a06896813ad257291b8b8]

patch "test/func/resolve_conflicts_orphaned_file/__driver__.lua"
 from [fe6a4618be2793d18ee2f97adf94cd564763164f]
   to [5c2b5eb76fd3a1e97da6e549443037dc0698e17d]
============================================================
--- src/cmd_conflicts.cc	dc33213407b40ba4981d011ba0b80cb88f8c6627
+++ src/cmd_conflicts.cc	16d359c7c1defe51ec7c930266fee21326aa7017
@@ -532,7 +532,7 @@ set_first_conflict(database & db,
                   E(args.size() == 2, origin::user, F("wrong number of arguments"));
 
                   conflict.resolution.resolution  = resolve_conflicts::rename;
-                  conflict.resolution.content = new_optimal_path(idx(args,1)(), false);
+                  conflict.resolution.rename = file_path_external(idx(args,1));
                 }
               else
                 {
============================================================
--- src/merge_conflict.cc	37b47f167e03c72b9279f362b7fceb435b29150b
+++ src/merge_conflict.cc	13a9a9235a39333ad6a247b138dc449b6e2b0fc8
@@ -3069,11 +3069,11 @@ roster_merge_result::resolve_dropped_mod
   MM(right_roster);
   MM(this->roster); // New roster
 
-  for (std::vector<dropped_modified_conflict>::const_iterator i = dropped_modified_conflicts.begin();
+  for (std::vector<dropped_modified_conflict>::iterator i = dropped_modified_conflicts.begin();
        i != dropped_modified_conflicts.end();
        ++i)
     {
-      dropped_modified_conflict const & conflict = *i;
+      dropped_modified_conflict & conflict = *i;
       MM(conflict);
 
       file_path left_name;
@@ -3089,9 +3089,18 @@ roster_merge_result::resolve_dropped_mod
             }
           else
             {
-              roster_t tmp;
-              adaptor.db.get_roster(conflict.left_rid, tmp);
-              tmp.get_file_details(conflict.left_nid, left_fid, left_name);
+              if (null_id(conflict.left_rid))
+                {
+                  // attr mtn::resolve_conflict drop does not set rid; find it now
+                  adaptor.get_dropped_details
+                    (adaptor.left_rid, conflict.left_nid, conflict.left_rid, left_name, left_fid);
+                }
+              else
+                {
+                  roster_t tmp;
+                  adaptor.db.get_roster(conflict.left_rid, tmp);
+                  tmp.get_file_details(conflict.left_nid, left_fid, left_name);
+                }
             }
         }
 
@@ -3103,9 +3112,17 @@ roster_merge_result::resolve_dropped_mod
             }
           else
             {
-              roster_t tmp;
-              adaptor.db.get_roster(conflict.right_rid, tmp);
-              tmp.get_file_details(conflict.right_nid, right_fid, right_name);
+              if (null_id(conflict.left_rid))
+                {
+                  adaptor.get_dropped_details
+                    (adaptor.right_rid, conflict.right_nid, conflict.right_rid, right_name, right_fid);
+                }
+              else
+                {
+                  roster_t tmp;
+                  adaptor.db.get_roster(conflict.right_rid, tmp);
+                  tmp.get_file_details(conflict.right_nid, right_fid, right_name);
+                }
             }
         }
 
============================================================
--- test/func/resolve_conflicts_dropped_modified_2/__driver__.lua	e1bd2fed5032ea4cb911ffc1289b1830e2195e1c
+++ test/func/resolve_conflicts_dropped_modified_2/__driver__.lua	5595825e6da1a21e03d0ff0aab288d27755df0a7
@@ -47,8 +47,8 @@ check(samelines("stderr",
 check(samelines("stderr",
  {"mtn: [left]  506d8ed51b06c0080e8bb307155a88637045b532",
   "mtn: [right] a2889488ed1801a904d0219ec9939dfc2e9be033",
-  "mtn: keeping 'file_2'",
-  "mtn: history for 'file_2' will be lost; see user manual Merge Conflicts section",
+  "mtn: keeping 'file_2' from left",
+  "mtn: history for 'file_2' from left will be lost; see user manual Merge Conflicts section",
   "mtn: [merged] 3df3126220588440def7b08f488ca35eaa94f1b6"}))
 
 check(mtn("update"), 0, nil, true)
@@ -76,10 +76,12 @@ check(mtn("conflicts", "store", left_2, 
 
 check(mtn("conflicts", "store", left_2, right_2), 0, nil, true)
 
-check(mtn("conflicts", "resolve_first", "keep"), 0, nil, true)
+check(mtn("conflicts", "resolve_first_left", "keep"), 0, nil, true)
+check(mtn("conflicts", "resolve_first_right", "drop"), 0, nil, true)
 
 check(mtn("explicit_merge", "--resolve-conflicts", left_2, right_2, "testbranch"), 0, nil, true)
 check(qgrep("mtn: keeping 'file_2' from left", "stderr"))
+check(qgrep("mtn: dropping 'file_2' from right", "stderr"))
 
 check(mtn("update"), 0, nil, true)
 check(samelines("file_2", {"file_2 left 2"}))
============================================================
--- test/func/resolve_conflicts_dropped_modified_upstream_vs_local/__driver__.lua	e7f37ed8b1a65325390ad4f1ade33904e7535381
+++ test/func/resolve_conflicts_dropped_modified_upstream_vs_local_attr/__driver__.lua	5ca6fd173e372916aa7d3e29f902a1837825a497
@@ -47,7 +47,7 @@ check(samelines("stderr",
 check(samelines("stderr",
  {"mtn: [left]  1e700864de7a2cbb1cf85c26f5e1e4ca335d2bc2",
   "mtn: [right] a2889488ed1801a904d0219ec9939dfc2e9be033",
-  "mtn: dropping 'file_2'",
+  "mtn: dropping 'file_2' from left",
   "mtn: [merged] dd1ba606b52fddb4431da3760ff65b65f6509a48"}))
 
 check(mtn("update"), 0, nil, true)
@@ -75,7 +75,7 @@ check(mtn("merge", "--resolve-conflicts"
 check(qgrep("mtn: misuse: merge failed due to unresolved conflicts", "stderr"))
 
 check(mtn("merge", "--resolve-conflicts"), 0, nil, true)
-check(qgrep("mtn: dropping 'file_2'", "stderr"))
+check(qgrep("mtn: dropping 'file_2' from left", "stderr"))
 
 check(mtn("update"), 0, nil, true)
 check(not exists("file_2"))
@@ -89,7 +89,7 @@ check(samelines("stderr",
   "mtn: conflict: file 'file_2' from revision 1e700864de7a2cbb1cf85c26f5e1e4ca335d2bc2",
   "mtn: modified on the left, named file_2",
   "mtn: dropped on the right",
-  "mtn: resolution: drop",
+  "mtn: left_resolution: drop",
   "mtn: 1 conflict with supported resolutions."}))
 
 -- 'conflicts store' is not needed unless there are other conflicts,
@@ -98,4 +98,5 @@ check(samefilestd("conflicts", "_MTN/con
 check(mtn("conflicts", "store", upstream_2, local_2), 0, nil, true)
 check(samefilestd("conflicts", "_MTN/conflicts"))
 
+-- FIXME: repeat merge with left, right swapped
 -- end of file
============================================================
--- test/func/resolve_conflicts_errors/__driver__.lua	9a130c83d4a7e3545f18d089542603c8d0bb72fa
+++ test/func/resolve_conflicts_errors/__driver__.lua	11875ef629e7e6fbce9a06896813ad257291b8b8
@@ -107,7 +107,8 @@ canonicalize("stdout")
 check(mtn("conflicts", "resolve_first_right", "user", "checkout.sh"), 1, nil, true)
 check(grep("-v", "detected at", "stderr"), 0, true)
 canonicalize("stdout")
-check("mtn: misuse: other resolution must be 'drop' or 'rename'\n" == readfile("stdout"))
+check(samelines("stdout",
+{"mtn: misuse: other resolution must be 'drop', 'rename', or 'user_rename'"}))
 
 -- not in workspace; report nice error; conflicts file must be under
 -- _MTN, so need workspace. Fixes bug 30473
============================================================
--- test/func/resolve_conflicts_orphaned_file/__driver__.lua	fe6a4618be2793d18ee2f97adf94cd564763164f
+++ test/func/resolve_conflicts_orphaned_file/__driver__.lua	5c2b5eb76fd3a1e97da6e549443037dc0698e17d
@@ -1,5 +1,5 @@
 -- Test resolving orphaned_file and orphaned_directory conflicts
-
+-- FIXME: swap left, right
 mtn_setup()
 
 addfile("foo", "foo base")

reply via email to

[Prev in Thread] Current Thread [Next in Thread]