equal
deleted
inserted
replaced
135 |
135 |
136 def merge3(self, my, other, base): |
136 def merge3(self, my, other, base): |
137 pass |
137 pass |
138 |
138 |
139 class dircache: |
139 class dircache: |
140 def __init__(self, opener): |
140 def __init__(self, opener, ui): |
141 self.opener = opener |
141 self.opener = opener |
142 self.dirty = 0 |
142 self.dirty = 0 |
|
143 self.ui = ui |
143 self.map = None |
144 self.map = None |
144 def __del__(self): |
145 def __del__(self): |
145 if self.dirty: self.write() |
146 if self.dirty: self.write() |
146 def __getitem__(self, key): |
147 def __getitem__(self, key): |
147 try: |
148 try: |
188 def remove(self, files): |
189 def remove(self, files): |
189 if not files: return |
190 if not files: return |
190 self.read() |
191 self.read() |
191 self.dirty = 1 |
192 self.dirty = 1 |
192 for f in files: |
193 for f in files: |
193 try: del self.map[f] |
194 try: |
194 except KeyError: pass |
195 del self.map[f] |
|
196 except KeyError: |
|
197 self.ui.warn("Not in dircache: %s\n" % f) |
|
198 pass |
195 |
199 |
196 def clear(self): |
200 def clear(self): |
197 self.map = {} |
201 self.map = {} |
198 self.dirty = 1 |
202 self.dirty = 1 |
199 |
203 |
254 self.manifest = manifest(self.opener) |
258 self.manifest = manifest(self.opener) |
255 self.changelog = changelog(self.opener) |
259 self.changelog = changelog(self.opener) |
256 self.ignorelist = None |
260 self.ignorelist = None |
257 |
261 |
258 if not self.remote: |
262 if not self.remote: |
259 self.dircache = dircache(self.opener) |
263 self.dircache = dircache(self.opener, ui) |
260 try: |
264 try: |
261 self.current = bin(self.opener("current").read()) |
265 self.current = bin(self.opener("current").read()) |
262 except IOError: |
266 except IOError: |
263 self.current = None |
267 self.current = None |
264 |
268 |
397 new = new.keys() |
401 new = new.keys() |
398 new.sort() |
402 new.sort() |
399 if co == cn: cn = -1 |
403 if co == cn: cn = -1 |
400 |
404 |
401 edittext = "\n"+"".join(["HG: changed %s\n" % f for f in new]) |
405 edittext = "\n"+"".join(["HG: changed %s\n" % f for f in new]) |
|
406 edittext += "".join(["HG: removed %s\n" % f for f in remove]) |
402 edittext = self.ui.edit(edittext) |
407 edittext = self.ui.edit(edittext) |
403 n = self.changelog.add(node, new, edittext, tr, co, cn) |
408 n = self.changelog.add(node, new, edittext, tr, co, cn) |
404 |
409 |
405 tr.close() |
410 tr.close() |
406 |
411 |