mercurial/metadata.py
changeset 46814 c52c3c4cbd3f
parent 46713 bc2519513ae0
child 46815 433cef8f3104
--- a/mercurial/metadata.py	Tue Mar 02 02:00:29 2021 +0100
+++ b/mercurial/metadata.py	Mon Mar 15 13:37:45 2021 +0100
@@ -322,12 +322,12 @@
     β”‚ (Some, None) β”‚      OR      β”‚πŸ„»  Deleted    β”‚       ΓΈ      β”‚      ΓΈ       β”‚
     β”‚              β”‚πŸ„·  Deleted[1] β”‚              β”‚              β”‚              β”‚
     β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-    β”‚              β”‚πŸ„Έ  No Changes β”‚              β”‚              β”‚              β”‚
-    β”‚ (None, Some) β”‚     OR       β”‚      ΓΈ       β”‚πŸ„Ό   Added     β”‚πŸ„½   Merged    β”‚
+    β”‚              β”‚πŸ„Έ  No Changes β”‚              β”‚              β”‚   πŸ„½ Touched  β”‚
+    β”‚ (None, Some) β”‚     OR       β”‚      ΓΈ       β”‚πŸ„Ό   Added     β”‚OR πŸ…€ Salvaged β”‚
     β”‚              β”‚πŸ„Ή  Salvaged[2]β”‚              β”‚   (copied?)  β”‚   (copied?)  β”‚
     β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-    β”‚              β”‚              β”‚              β”‚              β”‚              β”‚
-    β”‚ (Some, Some) β”‚πŸ„Ί  No Changes β”‚      ΓΈ       β”‚πŸ„Ύ   Merged    β”‚πŸ„Ώ   Merged    β”‚
+    β”‚              β”‚              β”‚              β”‚   πŸ„Ύ Touched  β”‚              β”‚
+    β”‚ (Some, Some) β”‚πŸ„Ί  No Changes β”‚      ΓΈ       β”‚OR πŸ… Salvaged β”‚πŸ„Ώ   Merged    β”‚
     β”‚              β”‚     [3]      β”‚              β”‚   (copied?)  β”‚   (copied?)  β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 
@@ -454,8 +454,16 @@
                 # case πŸ„» β€” both deleted the file.
                 md.mark_removed(filename)
             elif d1[1][0] is not None and d2[1][0] is not None:
-                # case πŸ„½ πŸ„Ύ πŸ„Ώ
-                md.mark_merged(filename)
+                if d1[0][0] is None or d2[0][0] is None:
+                    if any(_find(ma, filename) is not None for ma in mas):
+                        # case πŸ…€ or πŸ…
+                        md.mark_salvaged(filename)
+                    else:
+                        # case πŸ„½ πŸ„Ύ : touched
+                        md.mark_touched(filename)
+                else:
+                    # case πŸ„Ώ : merged
+                    md.mark_merged(filename)
                 copy_candidates.append(filename)
             else:
                 # Impossible case, the post-merge file status cannot be None on