mercurial/localrepo.py
changeset 50188 39256bee2ed9
parent 50187 f18e4608bb61
child 50193 ab806355fccb
equal deleted inserted replaced
50187:f18e4608bb61 50188:39256bee2ed9
  2556                 # transaction running
  2556                 # transaction running
  2557                 repo.dirstate.write(None)
  2557                 repo.dirstate.write(None)
  2558             else:
  2558             else:
  2559                 # discard all changes (including ones already written
  2559                 # discard all changes (including ones already written
  2560                 # out) in this transaction
  2560                 # out) in this transaction
  2561                 narrowspec.restorebackup(self, b'journal.narrowspec')
       
  2562                 narrowspec.restorewcbackup(self, b'journal.narrowspec.dirstate')
       
  2563 
       
  2564                 repo.invalidate(clearfilecache=True)
  2561                 repo.invalidate(clearfilecache=True)
  2565 
  2562 
  2566         tr = transaction.transaction(
  2563         tr = transaction.transaction(
  2567             rp,
  2564             rp,
  2568             self.svfs,
  2565             self.svfs,
  2686         return tr
  2683         return tr
  2687 
  2684 
  2688     def _journalfiles(self):
  2685     def _journalfiles(self):
  2689         return (
  2686         return (
  2690             (self.svfs, b'journal'),
  2687             (self.svfs, b'journal'),
  2691             (self.svfs, b'journal.narrowspec'),
       
  2692             (self.vfs, b'journal.narrowspec.dirstate'),
       
  2693             (self.vfs, b'journal.branch'),
  2688             (self.vfs, b'journal.branch'),
  2694             (self.vfs, b'journal.desc'),
  2689             (self.vfs, b'journal.desc'),
  2695             (bookmarks.bookmarksvfs(self), b'journal.bookmarks'),
  2690             (bookmarks.bookmarksvfs(self), b'journal.bookmarks'),
  2696             (self.svfs, b'journal.phaseroots'),
  2691             (self.svfs, b'journal.phaseroots'),
  2697         )
  2692         )
  2699     def undofiles(self):
  2694     def undofiles(self):
  2700         return [(vfs, undoname(x)) for vfs, x in self._journalfiles()]
  2695         return [(vfs, undoname(x)) for vfs, x in self._journalfiles()]
  2701 
  2696 
  2702     @unfilteredmethod
  2697     @unfilteredmethod
  2703     def _writejournal(self, desc):
  2698     def _writejournal(self, desc):
  2704         narrowspec.savewcbackup(self, b'journal.narrowspec.dirstate')
       
  2705         narrowspec.savebackup(self, b'journal.narrowspec')
       
  2706         self.vfs.write(
  2699         self.vfs.write(
  2707             b"journal.branch", encoding.fromlocal(self.dirstate.branch())
  2700             b"journal.branch", encoding.fromlocal(self.dirstate.branch())
  2708         )
  2701         )
  2709         self.vfs.write(b"journal.desc", b"%d\n%s\n" % (len(self), desc))
  2702         self.vfs.write(b"journal.desc", b"%d\n%s\n" % (len(self), desc))
  2710         bookmarksvfs = bookmarks.bookmarksvfs(self)
  2703         bookmarksvfs = bookmarks.bookmarksvfs(self)
  2818                 # the existing one.
  2811                 # the existing one.
  2819                 with self.dirstate.changing_parents(self):
  2812                 with self.dirstate.changing_parents(self):
  2820                     self.dirstate.setparents(self.nullid)
  2813                     self.dirstate.setparents(self.nullid)
  2821                     self.dirstate.clear()
  2814                     self.dirstate.clear()
  2822 
  2815 
  2823             narrowspec.restorebackup(self, b'undo.narrowspec')
       
  2824             narrowspec.restorewcbackup(self, b'undo.narrowspec.dirstate')
       
  2825             try:
  2816             try:
  2826                 branch = self.vfs.read(b'undo.branch')
  2817                 branch = self.vfs.read(b'undo.branch')
  2827                 self.dirstate.setbranch(encoding.tolocal(branch))
  2818                 self.dirstate.setbranch(encoding.tolocal(branch))
  2828             except IOError:
  2819             except IOError:
  2829                 ui.warn(
  2820                 ui.warn(