mercurial/context.py
changeset 3127 81da3c45aabd
parent 2858 345bac2bc4ec
child 3135 abd9a05fca0b
equal deleted inserted replaced
3126:cff3c58a5766 3127:81da3c45aabd
     6 # of the GNU General Public License, incorporated herein by reference.
     6 # of the GNU General Public License, incorporated herein by reference.
     7 
     7 
     8 class changectx(object):
     8 class changectx(object):
     9     """A changecontext object makes access to data related to a particular
     9     """A changecontext object makes access to data related to a particular
    10     changeset convenient."""
    10     changeset convenient."""
    11     def __init__(self, repo, changeid):
    11     def __init__(self, repo, changeid=None):
    12         """changeid is a revision number, node, or tag"""
    12         """changeid is a revision number, node, or tag"""
    13         self._repo = repo
    13         self._repo = repo
       
    14 
       
    15         if not changeid:
       
    16             p1, p2 = self._repo.dirstate.parents()
       
    17             self._rev = self._repo.changelog.rev(p1)
       
    18             if self._rev == -1:
       
    19                 changeid = 'tip'
       
    20             else:
       
    21                 self._node = p1
       
    22                 return
    14 
    23 
    15         self._node = self._repo.lookup(changeid)
    24         self._node = self._repo.lookup(changeid)
    16         self._rev = self._repo.changelog.rev(self._node)
    25         self._rev = self._repo.changelog.rev(self._node)
    17 
    26 
    18     def changeset(self):
    27     def changeset(self):