mercurial/phases.py
changeset 51583 22cc679a7312
parent 51582 d8287e43540f
child 51585 c11d21faa73c
equal deleted inserted replaced
51582:d8287e43540f 51583:22cc679a7312
  1130     # compute heads
  1130     # compute heads
  1131     public_heads = new_heads(repo, subset, draft_roots)
  1131     public_heads = new_heads(repo, subset, draft_roots)
  1132     return public_heads, draft_roots
  1132     return public_heads, draft_roots
  1133 
  1133 
  1134 
  1134 
  1135 class remotephasessummary:
  1135 class RemotePhasesSummary:
  1136     """summarize phase information on the remote side
  1136     """summarize phase information on the remote side
  1137 
  1137 
  1138     :publishing: True is the remote is publishing
  1138     :publishing: True is the remote is publishing
  1139     :publicheads: list of remote public phase heads (nodes)
  1139     :public_heads: list of remote public phase heads (revs)
  1140     :draftheads: list of remote draft phase heads (nodes)
  1140     :draft_heads: list of remote draft phase heads (revs)
  1141     :draftroots: list of remote draft phase root (nodes)
  1141     :draft_roots: list of remote draft phase root (revs)
  1142     """
  1142     """
  1143 
  1143 
  1144     def __init__(self, repo, remotesubset, remoteroots):
  1144     def __init__(
       
  1145         self,
       
  1146         repo,
       
  1147         remote_subset: Collection[int],
       
  1148         remote_roots: Dict[bytes, bytes],
       
  1149     ):
  1145         unfi = repo.unfiltered()
  1150         unfi = repo.unfiltered()
  1146         to_rev = unfi.changelog.index.rev
  1151         self._allremoteroots: Dict[bytes, bytes] = remote_roots
  1147         to_node = unfi.changelog.node
  1152 
  1148         self._allremoteroots = remoteroots
  1153         self.publishing: bool = bool(remote_roots.get(b'publishing', False))
  1149 
  1154 
  1150         self.publishing = remoteroots.get(b'publishing', False)
  1155         heads, roots = analyze_remote_phases(repo, remote_subset, remote_roots)
  1151 
  1156         self.public_heads: Collection[int] = heads
  1152         remote_subset = [to_rev(n) for n in remotesubset]
  1157         self.draft_roots: Collection[int] = roots
  1153         heads, roots = analyze_remote_phases(repo, remote_subset, remoteroots)
       
  1154         self.publicheads = [to_node(r) for r in heads]
       
  1155         self.draftroots = [to_node(r) for r in roots]
       
  1156         # Get the list of all "heads" revs draft on remote
  1158         # Get the list of all "heads" revs draft on remote
  1157         dheads = unfi.revs(b'heads(%ld::%ld)', roots, remote_subset)
  1159         dheads = unfi.revs(b'heads(%ld::%ld)', roots, remote_subset)
  1158         self.draftheads = [to_node(r) for r in dheads]
  1160         self.draft_heads: Collection[int] = dheads
  1159 
  1161 
  1160 
  1162 
  1161 def new_heads(
  1163 def new_heads(
  1162     repo,
  1164     repo,
  1163     heads: Collection[int],
  1165     heads: Collection[int],