comparison mercurial/context.py @ 27811:09820fb88e14

with: use context manager for wlock in workingctx.undelete
author Bryan O'Sullivan <bryano@fb.com>
date Fri, 15 Jan 2016 13:14:46 -0800
parents 8c81975fe145
children 28d0c0ef327b
comparison
equal deleted inserted replaced
27810:8c81975fe145 27811:09820fb88e14
1459 self._repo.dirstate.drop(f) 1459 self._repo.dirstate.drop(f)
1460 return rejected 1460 return rejected
1461 1461
1462 def undelete(self, list): 1462 def undelete(self, list):
1463 pctxs = self.parents() 1463 pctxs = self.parents()
1464 wlock = self._repo.wlock() 1464 with self._repo.wlock():
1465 try:
1466 for f in list: 1465 for f in list:
1467 if self._repo.dirstate[f] != 'r': 1466 if self._repo.dirstate[f] != 'r':
1468 self._repo.ui.warn(_("%s not removed!\n") % f) 1467 self._repo.ui.warn(_("%s not removed!\n") % f)
1469 else: 1468 else:
1470 fctx = f in pctxs[0] and pctxs[0][f] or pctxs[1][f] 1469 fctx = f in pctxs[0] and pctxs[0][f] or pctxs[1][f]
1471 t = fctx.data() 1470 t = fctx.data()
1472 self._repo.wwrite(f, t, fctx.flags()) 1471 self._repo.wwrite(f, t, fctx.flags())
1473 self._repo.dirstate.normal(f) 1472 self._repo.dirstate.normal(f)
1474 finally:
1475 wlock.release()
1476 1473
1477 def copy(self, source, dest): 1474 def copy(self, source, dest):
1478 try: 1475 try:
1479 st = self._repo.wvfs.lstat(dest) 1476 st = self._repo.wvfs.lstat(dest)
1480 except OSError as err: 1477 except OSError as err: