mercurial/context.py
changeset 37175 fbe34945220d
parent 37174 bb47dc2f71a0
child 37218 97ab6f2dc3c3
equal deleted inserted replaced
37174:bb47dc2f71a0 37175:fbe34945220d
    61     workingctx: a context that represents the working directory and can
    61     workingctx: a context that represents the working directory and can
    62                 be committed,
    62                 be committed,
    63     memctx: a context that represents changes in-memory and can also
    63     memctx: a context that represents changes in-memory and can also
    64             be committed."""
    64             be committed."""
    65 
    65 
       
    66     def __init__(self, repo):
       
    67         self._repo = repo
       
    68 
    66     def __bytes__(self):
    69     def __bytes__(self):
    67         return short(self.node())
    70         return short(self.node())
    68 
    71 
    69     __str__ = encoding.strmethod(__bytes__)
    72     __str__ = encoding.strmethod(__bytes__)
    70 
    73 
   404     """A changecontext object makes access to data related to a particular
   407     """A changecontext object makes access to data related to a particular
   405     changeset convenient. It represents a read-only context already present in
   408     changeset convenient. It represents a read-only context already present in
   406     the repo."""
   409     the repo."""
   407     def __init__(self, repo, changeid='.'):
   410     def __init__(self, repo, changeid='.'):
   408         """changeid is a revision number, node, or tag"""
   411         """changeid is a revision number, node, or tag"""
       
   412         super(changectx, self).__init__(repo)
   409 
   413 
   410         if changeid == '':
   414         if changeid == '':
   411             changeid = '.'
   415             changeid = '.'
   412         self._repo = repo
       
   413 
   416 
   414         try:
   417         try:
   415             if isinstance(changeid, int):
   418             if isinstance(changeid, int):
   416                 self._node = repo.changelog.node(changeid)
   419                 self._node = repo.changelog.node(changeid)
   417                 self._rev = changeid
   420                 self._rev = changeid
  1132 class committablectx(basectx):
  1135 class committablectx(basectx):
  1133     """A committablectx object provides common functionality for a context that
  1136     """A committablectx object provides common functionality for a context that
  1134     wants the ability to commit, e.g. workingctx or memctx."""
  1137     wants the ability to commit, e.g. workingctx or memctx."""
  1135     def __init__(self, repo, text="", user=None, date=None, extra=None,
  1138     def __init__(self, repo, text="", user=None, date=None, extra=None,
  1136                  changes=None):
  1139                  changes=None):
  1137         self._repo = repo
  1140         super(committablectx, self).__init__(repo)
  1138         self._rev = None
  1141         self._rev = None
  1139         self._node = None
  1142         self._node = None
  1140         self._text = text
  1143         self._text = text
  1141         if date:
  1144         if date:
  1142             self._date = dateutil.parsedate(date)
  1145             self._date = dateutil.parsedate(date)
  1816     is `False`, the file was deleted.
  1819     is `False`, the file was deleted.
  1817     """
  1820     """
  1818 
  1821 
  1819     def __init__(self, repo):
  1822     def __init__(self, repo):
  1820         super(overlayworkingctx, self).__init__(repo)
  1823         super(overlayworkingctx, self).__init__(repo)
  1821         self._repo = repo
       
  1822         self.clean()
  1824         self.clean()
  1823 
  1825 
  1824     def setbase(self, wrappedctx):
  1826     def setbase(self, wrappedctx):
  1825         self._wrappedctx = wrappedctx
  1827         self._wrappedctx = wrappedctx
  1826         self._parents = [wrappedctx]
  1828         self._parents = [wrappedctx]