comparison mercurial/context.py @ 3143:db25f7b80fdb

context: handle fileid or changeid == 0
author Brendan Cully <brendan@kublai.com>
date Fri, 22 Sep 2006 08:19:25 -0700
parents b1db258e875c
children 8342ad5abe0b
comparison
equal deleted inserted replaced
3142:aabc5ef7d159 3143:db25f7b80fdb
14 changeset convenient.""" 14 changeset convenient."""
15 def __init__(self, repo, changeid=None): 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 18
19 if not changeid: 19 if not changeid and changeid != 0:
20 p1, p2 = self._repo.dirstate.parents() 20 p1, p2 = self._repo.dirstate.parents()
21 self._rev = self._repo.changelog.rev(p1) 21 self._rev = self._repo.changelog.rev(p1)
22 if self._rev == -1: 22 if self._rev == -1:
23 changeid = 'tip' 23 changeid = 'tip'
24 else: 24 else:
92 """changeid can be a changeset revision, node, or tag. 92 """changeid can be a changeset revision, node, or tag.
93 fileid can be a file revision or node.""" 93 fileid can be a file revision or node."""
94 self._repo = repo 94 self._repo = repo
95 self._path = path 95 self._path = path
96 96
97 assert changeid or fileid 97 assert changeid is not None or fileid is not None
98 98
99 if filelog: 99 if filelog:
100 self._filelog = filelog 100 self._filelog = filelog
101 else: 101 else:
102 self._filelog = self._repo.file(self._path) 102 self._filelog = self._repo.file(self._path)
103 103
104 if not fileid: 104 if fileid is None:
105 # if given a changeset id, go ahead and look up the file 105 # if given a changeset id, go ahead and look up the file
106 self._changeid = changeid 106 self._changeid = changeid
107 self._changectx = self.changectx() 107 self._changectx = self.changectx()
108 self._filenode = self._changectx.filenode(self._path) 108 self._filenode = self._changectx.filenode(self._path)
109 else: 109 else: