mercurial/revlog.py
changeset 8153 616f20e1004a
parent 8152 08e1baf924ca
child 8163 62d7287fe6b0
equal deleted inserted replaced
8152:08e1baf924ca 8153:616f20e1004a
   676             # Turn heads into a dictionary so we can remove 'fake' heads.
   676             # Turn heads into a dictionary so we can remove 'fake' heads.
   677             # Also, later we will be using it to filter out the heads we can't
   677             # Also, later we will be using it to filter out the heads we can't
   678             # find from roots.
   678             # find from roots.
   679             heads = dict.fromkeys(heads, 0)
   679             heads = dict.fromkeys(heads, 0)
   680             # Start at the top and keep marking parents until we're done.
   680             # Start at the top and keep marking parents until we're done.
   681             nodestotag = heads.keys()
   681             nodestotag = set(heads.keys())
   682             # Remember where the top was so we can use it as a limit later.
   682             # Remember where the top was so we can use it as a limit later.
   683             highestrev = max([self.rev(n) for n in nodestotag])
   683             highestrev = max([self.rev(n) for n in nodestotag])
   684             while nodestotag:
   684             while nodestotag:
   685                 # grab a node to tag
   685                 # grab a node to tag
   686                 n = nodestotag.pop()
   686                 n = nodestotag.pop()
   694                     if n not in ancestors:
   694                     if n not in ancestors:
   695                         # If we are possibly a descendent of one of the roots
   695                         # If we are possibly a descendent of one of the roots
   696                         # and we haven't already been marked as an ancestor
   696                         # and we haven't already been marked as an ancestor
   697                         ancestors[n] = 1 # Mark as ancestor
   697                         ancestors[n] = 1 # Mark as ancestor
   698                         # Add non-nullid parents to list of nodes to tag.
   698                         # Add non-nullid parents to list of nodes to tag.
   699                         nodestotag.extend([p for p in self.parents(n) if
   699                         nodestotag.update([p for p in self.parents(n) if
   700                                            p != nullid])
   700                                            p != nullid])
   701                     elif n in heads: # We've seen it before, is it a fake head?
   701                     elif n in heads: # We've seen it before, is it a fake head?
   702                         # So it is, real heads should not be the ancestors of
   702                         # So it is, real heads should not be the ancestors of
   703                         # any other heads.
   703                         # any other heads.
   704                         heads.pop(n)
   704                         heads.pop(n)