mercurial/context.py
changeset 3135 abd9a05fca0b
parent 3134 4bf2e895cf86
parent 3127 81da3c45aabd
child 3136 b1db258e875c
equal deleted inserted replaced
3134:4bf2e895cf86 3135:abd9a05fca0b
    10 demandload(globals(), "heapq")
    10 demandload(globals(), "heapq")
    11 
    11 
    12 class changectx(object):
    12 class changectx(object):
    13     """A changecontext object makes access to data related to a particular
    13     """A changecontext object makes access to data related to a particular
    14     changeset convenient."""
    14     changeset convenient."""
    15     def __init__(self, repo, changeid):
    15     def __init__(self, repo, changeid=None):
    16         """changeid is a revision number, node, or tag"""
    16         """changeid is a revision number, node, or tag"""
    17         self._repo = repo
    17         self._repo = repo
       
    18 
       
    19         if not changeid:
       
    20             p1, p2 = self._repo.dirstate.parents()
       
    21             self._rev = self._repo.changelog.rev(p1)
       
    22             if self._rev == -1:
       
    23                 changeid = 'tip'
       
    24             else:
       
    25                 self._node = p1
       
    26                 return
    18 
    27 
    19         self._node = self._repo.lookup(changeid)
    28         self._node = self._repo.lookup(changeid)
    20         self._rev = self._repo.changelog.rev(self._node)
    29         self._rev = self._repo.changelog.rev(self._node)
    21 
    30 
    22     def changeset(self):
    31     def changeset(self):