equal
deleted
inserted
replaced
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( |