Browse Source

fix(sync): tune merge priority, current change first

Andelf 2 years ago
parent
commit
e8bf419596
2 changed files with 18 additions and 4 deletions
  1. 1 1
      src/main/frontend/fs/diff_merge.cljs
  2. 17 3
      src/test/frontend/fs/diff_merge_test.cljs

+ 1 - 1
src/main/frontend/fs/diff_merge.cljs

@@ -182,7 +182,7 @@
         income-diffblocks (ast->diff-blocks-alt income-ast income format options)
         current-ast (->ast current)
         current-diffblocks (ast->diff-blocks-alt current-ast current format options)
-        branch-diffblocks [income-diffblocks current-diffblocks]
+        branch-diffblocks [current-diffblocks income-diffblocks]
         merged (.mergeBlocks merger (bean/->js base-diffblocks) (bean/->js branch-diffblocks))
         ;; For extracting diff-merge test cases
         ;; _ (prn "input:")

+ 17 - 3
src/test/frontend/fs/diff_merge_test.cljs

@@ -120,7 +120,7 @@
   :uuid "63e25526-3612-4fb1-8cf9-f66db1254a58" :level 1}
  {:body "b" :uuid nil :level 2}
  {:body "c" :uuid nil :level 3}]
-  
+
   "alias:: ⭐️\nicon:: ⭐️"
 [{:body "alias:: ⭐️\nicon:: ⭐️", :level 1, :uuid nil}]))
 
@@ -191,7 +191,7 @@
       :uuid "63e25526-3612-4fb1-8cf9-f66db1254a58" :level 1 :meta {:raw-body "- a\n  id:: 63e25526-3612-4fb1-8cf9-f66db1254a58"}}
      {:body "b" :uuid nil :level 2 :meta {:raw-body "\t- b"}}
      {:body "c" :uuid nil :level 3 :meta {:raw-body "\t\t- c"}}]
-    
+
     "alias:: ⭐️\nicon:: ⭐️"
     [{:body "alias:: ⭐️\nicon:: ⭐️", :meta {:raw-body "alias:: ⭐️\nicon:: ⭐️"}, :level 1, :uuid nil}]))
 
@@ -470,4 +470,18 @@
           "- a\n  id:: 648ab5e6-5e03-4c61-95d4-dd904a0a007f\n  aaa:: 111\n- b"
           "- c"
           :markdown)
-         "- a\n  id:: 648ab5e6-5e03-4c61-95d4-dd904a0a007f\n  aaa:: 111\n- c")))
+         "- a\n  id:: 648ab5e6-5e03-4c61-95d4-dd904a0a007f\n  aaa:: 111\n- c"))
+
+  (is (= (fs-diff/three-way-merge
+          "- a\n- b\n- c"
+          "- a\n- b\n- c\n- d"
+          "- a\n\t- b\n- c"
+          :markdown)
+         "- a\n\t- b\n- c\n- d"))
+
+  (is (= (fs-diff/three-way-merge
+          "- a\n- b\n- c"
+          "- a\n\t- b\n- c"
+          "- a\n- b\n- c\n- d"
+          :markdown)
+         "- a\n- b\n- c\n- d")))