--- 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