1834 repo.dirstate.write(None) |
1834 repo.dirstate.write(None) |
1835 else: |
1835 else: |
1836 # discard all changes (including ones already written |
1836 # discard all changes (including ones already written |
1837 # out) in this transaction |
1837 # out) in this transaction |
1838 narrowspec.restorebackup(self, 'journal.narrowspec') |
1838 narrowspec.restorebackup(self, 'journal.narrowspec') |
|
1839 narrowspec.restorewcbackup(self, 'journal.narrowspec.dirstate') |
1839 repo.dirstate.restorebackup(None, 'journal.dirstate') |
1840 repo.dirstate.restorebackup(None, 'journal.dirstate') |
1840 |
1841 |
1841 repo.invalidate(clearfilecache=True) |
1842 repo.invalidate(clearfilecache=True) |
1842 |
1843 |
1843 tr = transaction.transaction(rp, self.svfs, vfsmap, |
1844 tr = transaction.transaction(rp, self.svfs, vfsmap, |
1911 return tr |
1912 return tr |
1912 |
1913 |
1913 def _journalfiles(self): |
1914 def _journalfiles(self): |
1914 return ((self.svfs, 'journal'), |
1915 return ((self.svfs, 'journal'), |
1915 (self.svfs, 'journal.narrowspec'), |
1916 (self.svfs, 'journal.narrowspec'), |
|
1917 (self.vfs, 'journal.narrowspec.dirstate'), |
1916 (self.vfs, 'journal.dirstate'), |
1918 (self.vfs, 'journal.dirstate'), |
1917 (self.vfs, 'journal.branch'), |
1919 (self.vfs, 'journal.branch'), |
1918 (self.vfs, 'journal.desc'), |
1920 (self.vfs, 'journal.desc'), |
1919 (self.vfs, 'journal.bookmarks'), |
1921 (self.vfs, 'journal.bookmarks'), |
1920 (self.svfs, 'journal.phaseroots')) |
1922 (self.svfs, 'journal.phaseroots')) |
1923 return [(vfs, undoname(x)) for vfs, x in self._journalfiles()] |
1925 return [(vfs, undoname(x)) for vfs, x in self._journalfiles()] |
1924 |
1926 |
1925 @unfilteredmethod |
1927 @unfilteredmethod |
1926 def _writejournal(self, desc): |
1928 def _writejournal(self, desc): |
1927 self.dirstate.savebackup(None, 'journal.dirstate') |
1929 self.dirstate.savebackup(None, 'journal.dirstate') |
|
1930 narrowspec.savewcbackup(self, 'journal.narrowspec.dirstate') |
1928 narrowspec.savebackup(self, 'journal.narrowspec') |
1931 narrowspec.savebackup(self, 'journal.narrowspec') |
1929 self.vfs.write("journal.branch", |
1932 self.vfs.write("journal.branch", |
1930 encoding.fromlocal(self.dirstate.branch())) |
1933 encoding.fromlocal(self.dirstate.branch())) |
1931 self.vfs.write("journal.desc", |
1934 self.vfs.write("journal.desc", |
1932 "%d\n%s\n" % (len(self), desc)) |
1935 "%d\n%s\n" % (len(self), desc)) |
2012 if parentgone: |
2015 if parentgone: |
2013 # prevent dirstateguard from overwriting already restored one |
2016 # prevent dirstateguard from overwriting already restored one |
2014 dsguard.close() |
2017 dsguard.close() |
2015 |
2018 |
2016 narrowspec.restorebackup(self, 'undo.narrowspec') |
2019 narrowspec.restorebackup(self, 'undo.narrowspec') |
|
2020 narrowspec.restorewcbackup(self, 'undo.narrowspec.dirstate') |
2017 self.dirstate.restorebackup(None, 'undo.dirstate') |
2021 self.dirstate.restorebackup(None, 'undo.dirstate') |
2018 try: |
2022 try: |
2019 branch = self.vfs.read('undo.branch') |
2023 branch = self.vfs.read('undo.branch') |
2020 self.dirstate.setbranch(encoding.tolocal(branch)) |
2024 self.dirstate.setbranch(encoding.tolocal(branch)) |
2021 except IOError: |
2025 except IOError: |