mercurial/repair.py
changeset 31626 0febf8e4e2ce
parent 31324 e712a9c35fd8
child 31645 7095e783958d
equal deleted inserted replaced
31625:c208bc65318a 31626:0febf8e4e2ce
   212             f.close()
   212             f.close()
   213         repo._phasecache.invalidate()
   213         repo._phasecache.invalidate()
   214 
   214 
   215         for m in updatebm:
   215         for m in updatebm:
   216             bm[m] = repo[newbmtarget].node()
   216             bm[m] = repo[newbmtarget].node()
   217         lock = tr = None
   217 
   218         try:
   218         with repo.lock():
   219             lock = repo.lock()
   219             with repo.transaction('repair') as tr:
   220             tr = repo.transaction('repair')
   220                 bm.recordchange(tr)
   221             bm.recordchange(tr)
       
   222             tr.close()
       
   223         finally:
       
   224             tr.release()
       
   225             lock.release()
       
   226 
   221 
   227         # remove undo files
   222         # remove undo files
   228         for undovfs, undofile in repo.undofiles():
   223         for undovfs, undofile in repo.undofiles():
   229             try:
   224             try:
   230                 undovfs.unlink(undofile)
   225                 undovfs.unlink(undofile)