mercurial/context.py
changeset 24050 a9b61dbdb827
parent 23984 2896f53509a7
child 24180 d8e0c591781c
equal deleted inserted replaced
24049:ba272156113f 24050:a9b61dbdb827
   374                 self._node = repo.changelog.node(changeid)
   374                 self._node = repo.changelog.node(changeid)
   375                 self._rev = changeid
   375                 self._rev = changeid
   376                 return
   376                 return
   377             if isinstance(changeid, long):
   377             if isinstance(changeid, long):
   378                 changeid = str(changeid)
   378                 changeid = str(changeid)
   379             if changeid == '.':
       
   380                 self._node = repo.dirstate.p1()
       
   381                 self._rev = repo.changelog.rev(self._node)
       
   382                 return
       
   383             if changeid == 'null':
   379             if changeid == 'null':
   384                 self._node = nullid
   380                 self._node = nullid
   385                 self._rev = nullrev
   381                 self._rev = nullrev
   386                 return
   382                 return
   387             if changeid == 'tip':
   383             if changeid == 'tip':
   388                 self._node = repo.changelog.tip()
   384                 self._node = repo.changelog.tip()
   389                 self._rev = repo.changelog.rev(self._node)
   385                 self._rev = repo.changelog.rev(self._node)
       
   386                 return
       
   387             if changeid == '.' or changeid == repo.dirstate.p1():
       
   388                 # this is a hack to delay/avoid loading obsmarkers
       
   389                 # when we know that '.' won't be hidden
       
   390                 self._node = repo.dirstate.p1()
       
   391                 self._rev = repo.unfiltered().changelog.rev(self._node)
   390                 return
   392                 return
   391             if len(changeid) == 20:
   393             if len(changeid) == 20:
   392                 try:
   394                 try:
   393                     self._node = changeid
   395                     self._node = changeid
   394                     self._rev = repo.changelog.rev(changeid)
   396                     self._rev = repo.changelog.rev(changeid)