mercurial/metadata.py
changeset 46814 c52c3c4cbd3f
parent 46713 bc2519513ae0
child 46815 433cef8f3104
equal deleted inserted replaced
46813:316a768f2e43 46814:c52c3c4cbd3f
   320     ├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
   320     ├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
   321     │              │🄶  No Changes │              │              │              │
   321     │              │🄶  No Changes │              │              │              │
   322     │ (Some, None) │      OR      │🄻  Deleted    │       ø      │      ø       │
   322     │ (Some, None) │      OR      │🄻  Deleted    │       ø      │      ø       │
   323     │              │🄷  Deleted[1] │              │              │              │
   323     │              │🄷  Deleted[1] │              │              │              │
   324     ├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
   324     ├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
   325     │              │🄸  No Changes │              │              │              │
   325     │              │🄸  No Changes │              │              │   🄽 Touched  │
   326     │ (None, Some) │     OR       │      ø       │🄼   Added     │🄽   Merged    │
   326     │ (None, Some) │     OR       │      ø       │🄼   Added     │OR 🅀 Salvaged │
   327     │              │🄹  Salvaged[2]│              │   (copied?)  │   (copied?)  │
   327     │              │🄹  Salvaged[2]│              │   (copied?)  │   (copied?)  │
   328     ├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
   328     ├──────────────┼──────────────┼──────────────┼──────────────┼──────────────┤
   329     │              │              │              │              │              │
   329     │              │              │              │   🄾 Touched  │              │
   330     │ (Some, Some) │🄺  No Changes │      ø       │🄾   Merged    │🄿   Merged    │
   330     │ (Some, Some) │🄺  No Changes │      ø       │OR 🅁 Salvaged │🄿   Merged    │
   331     │              │     [3]      │              │   (copied?)  │   (copied?)  │
   331     │              │     [3]      │              │   (copied?)  │   (copied?)  │
   332     └──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
   332     └──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
   333 
   333 
   334     Special case [1]:
   334     Special case [1]:
   335 
   335 
   452                 copy_candidates.append(filename)
   452                 copy_candidates.append(filename)
   453             elif d1[1][0] is None and d2[1][0] is None:
   453             elif d1[1][0] is None and d2[1][0] is None:
   454                 # case 🄻 — both deleted the file.
   454                 # case 🄻 — both deleted the file.
   455                 md.mark_removed(filename)
   455                 md.mark_removed(filename)
   456             elif d1[1][0] is not None and d2[1][0] is not None:
   456             elif d1[1][0] is not None and d2[1][0] is not None:
   457                 # case 🄽 🄾 🄿
   457                 if d1[0][0] is None or d2[0][0] is None:
   458                 md.mark_merged(filename)
   458                     if any(_find(ma, filename) is not None for ma in mas):
       
   459                         # case 🅀 or 🅁
       
   460                         md.mark_salvaged(filename)
       
   461                     else:
       
   462                         # case 🄽 🄾 : touched
       
   463                         md.mark_touched(filename)
       
   464                 else:
       
   465                     # case 🄿 : merged
       
   466                     md.mark_merged(filename)
   459                 copy_candidates.append(filename)
   467                 copy_candidates.append(filename)
   460             else:
   468             else:
   461                 # Impossible case, the post-merge file status cannot be None on
   469                 # Impossible case, the post-merge file status cannot be None on
   462                 # one side and Something on the other side.
   470                 # one side and Something on the other side.
   463                 assert False, "unreachable"
   471                 assert False, "unreachable"