##// END OF EJS Templates
mq: grab locks before starting a transaction
Alexis S. L. Carvalho -
r4571:eb403f29 default
parent child Browse files
Show More
@@ -438,11 +438,14 b' class queue:'
438 def apply(self, repo, series, list=False, update_status=True,
438 def apply(self, repo, series, list=False, update_status=True,
439 strict=False, patchdir=None, merge=None, wlock=None,
439 strict=False, patchdir=None, merge=None, wlock=None,
440 all_files={}):
440 all_files={}):
441 if not wlock:
442 wlock = repo.wlock()
443 lock = repo.lock()
441 tr = repo.transaction()
444 tr = repo.transaction()
442 try:
445 try:
443 ret = self._apply(tr, repo, series, list, update_status,
446 ret = self._apply(tr, repo, series, list, update_status,
444 strict, patchdir, merge, wlock,
447 strict, patchdir, merge, wlock,
445 all_files=all_files)
448 lock=lock, all_files=all_files)
446 tr.close()
449 tr.close()
447 self.save_dirty()
450 self.save_dirty()
448 return ret
451 return ret
@@ -456,14 +459,11 b' class queue:'
456
459
457 def _apply(self, tr, repo, series, list=False, update_status=True,
460 def _apply(self, tr, repo, series, list=False, update_status=True,
458 strict=False, patchdir=None, merge=None, wlock=None,
461 strict=False, patchdir=None, merge=None, wlock=None,
459 all_files={}):
462 lock=None, all_files={}):
460 # TODO unify with commands.py
463 # TODO unify with commands.py
461 if not patchdir:
464 if not patchdir:
462 patchdir = self.path
465 patchdir = self.path
463 err = 0
466 err = 0
464 if not wlock:
465 wlock = repo.wlock()
466 lock = repo.lock()
467 n = None
467 n = None
468 for patchname in series:
468 for patchname in series:
469 pushable, reason = self.pushable(patchname)
469 pushable, reason = self.pushable(patchname)
General Comments 0
You need to be logged in to leave comments. Login now