Show More
@@ -20,6 +20,7 b' class dirstate(object):' | |||
|
20 | 20 | self.dirty = 0 |
|
21 | 21 | self.ui = ui |
|
22 | 22 | self.map = None |
|
23 | self.fp = None | |
|
23 | 24 | self.pl = None |
|
24 | 25 | self.dirs = None |
|
25 | 26 | self.copymap = {} |
@@ -133,12 +134,28 b' class dirstate(object):' | |||
|
133 | 134 | self.lazyread() |
|
134 | 135 | return self[key] |
|
135 | 136 | |
|
137 | _unknown = ('?', 0, 0, 0) | |
|
138 | ||
|
139 | def get(self, key): | |
|
140 | try: | |
|
141 | return self[key] | |
|
142 | except KeyError: | |
|
143 | return self._unknown | |
|
144 | ||
|
136 | 145 | def __contains__(self, key): |
|
137 | 146 | self.lazyread() |
|
138 | 147 | return key in self.map |
|
139 | 148 | |
|
140 | 149 | def parents(self): |
|
141 |
self. |
|
|
150 | if self.pl is None: | |
|
151 | self.pl = [nullid, nullid] | |
|
152 | try: | |
|
153 | self.fp = self.opener('dirstate') | |
|
154 | st = self.fp.read(40) | |
|
155 | if len(st) == 40: | |
|
156 | self.pl = st[:20], st[20:40] | |
|
157 | except IOError, err: | |
|
158 | if err.errno != errno.ENOENT: raise | |
|
142 | 159 | return self.pl |
|
143 | 160 | |
|
144 | 161 | def branch(self): |
@@ -202,7 +219,12 b' class dirstate(object):' | |||
|
202 | 219 | self.map = {} |
|
203 | 220 | self.pl = [nullid, nullid] |
|
204 | 221 | try: |
|
205 | st = self.opener("dirstate").read() | |
|
222 | if self.fp: | |
|
223 | self.fp.seek(0) | |
|
224 | st = self.fp.read() | |
|
225 | self.fp = None | |
|
226 | else: | |
|
227 | st = self.opener("dirstate").read() | |
|
206 | 228 | if st: |
|
207 | 229 | self.parse(st) |
|
208 | 230 | except IOError, err: |
General Comments 0
You need to be logged in to leave comments.
Login now