Comments
Patch
@@ -723,9 +723,10 @@
def apply(self, repo, series, list=False, update_status=True,
strict=False, patchdir=None, merge=None, all_files=None,
tobackup=None, keepchanges=False):
- wlock = lock = tr = None
+ wlock = dsguard = lock = tr = None
try:
wlock = repo.wlock()
+ dsguard = cmdutil.dirstateguard(repo, 'mq.apply')
lock = repo.lock()
tr = repo.transaction("qpush")
try:
@@ -733,10 +734,12 @@
strict, patchdir, merge, all_files=all_files,
tobackup=tobackup, keepchanges=keepchanges)
tr.close()
+ dsguard.close()
self.savedirty()
return ret
except AbortNoCleanup:
tr.close()
+ dsguard.close()
self.savedirty()
return 2, repo.dirstate.p1()
except: # re-raises
@@ -744,11 +747,10 @@
tr.abort()
finally:
repo.invalidate()
- repo.dirstate.invalidate()
self.invalidate()
raise
finally:
- release(tr, lock, wlock)
+ release(tr, lock, dsguard, wlock)
self.removeundo(repo)
def _apply(self, repo, series, list=False, update_status=True,