252 util.rename(self.join("undo.dirstate"), self.join("dirstate")) |
252 util.rename(self.join("undo.dirstate"), self.join("dirstate")) |
253 self.dirstate.read() |
253 self.dirstate.read() |
254 else: |
254 else: |
255 self.ui.warn(_("no undo information available\n")) |
255 self.ui.warn(_("no undo information available\n")) |
256 |
256 |
257 def lock(self, wait=1): |
257 def do_lock(self, lockname, wait, releasefn=None, acquirefn=None): |
258 try: |
258 try: |
259 return lock.lock(self.join("lock"), 0) |
259 l = lock.lock(self.join(lockname), 0, releasefn) |
260 except lock.LockHeld, inst: |
|
261 if wait: |
|
262 self.ui.warn(_("waiting for lock held by %s\n") % inst.args[0]) |
|
263 return lock.lock(self.join("lock"), wait) |
|
264 raise inst |
|
265 |
|
266 def wlock(self, wait=1): |
|
267 try: |
|
268 wlock = lock.lock(self.join("wlock"), 0, self.dirstate.write) |
|
269 except lock.LockHeld, inst: |
260 except lock.LockHeld, inst: |
270 if not wait: |
261 if not wait: |
271 raise inst |
262 raise inst |
272 self.ui.warn(_("waiting for lock held by %s\n") % inst.args[0]) |
263 self.ui.warn(_("waiting for lock held by %s\n") % inst.args[0]) |
273 wlock = lock.lock(self.join("wlock"), wait, self.dirstate.write) |
264 l = lock.lock(self.join(lockname), wait, releasefn) |
274 self.dirstate.read() |
265 if acquirefn: |
275 return wlock |
266 acquirefn() |
|
267 return l |
|
268 |
|
269 def lock(self, wait=1): |
|
270 return self.do_lock("lock", wait) |
|
271 |
|
272 def wlock(self, wait=1): |
|
273 return self.do_lock("wlock", wait, |
|
274 self.dirstate.write, |
|
275 self.dirstate.read) |
276 |
276 |
277 def checkfilemerge(self, filename, text, filelog, manifest1, manifest2): |
277 def checkfilemerge(self, filename, text, filelog, manifest1, manifest2): |
278 "determine whether a new filenode is needed" |
278 "determine whether a new filenode is needed" |
279 fp1 = manifest1.get(filename, nullid) |
279 fp1 = manifest1.get(filename, nullid) |
280 fp2 = manifest2.get(filename, nullid) |
280 fp2 = manifest2.get(filename, nullid) |