equal
deleted
inserted
replaced
1563 ) |
1563 ) |
1564 return ret |
1564 return ret |
1565 |
1565 |
1566 return checksvfs |
1566 return checksvfs |
1567 |
1567 |
|
1568 @property |
|
1569 def vfs_map(self): |
|
1570 return { |
|
1571 b'': self.svfs, |
|
1572 b'plain': self.vfs, |
|
1573 b'store': self.svfs, |
|
1574 } |
|
1575 |
1568 def close(self): |
1576 def close(self): |
1569 self._writecaches() |
1577 self._writecaches() |
1570 |
1578 |
1571 def _writecaches(self): |
1579 def _writecaches(self): |
1572 if self._revbranchcache: |
1580 if self._revbranchcache: |
2413 renames = [(vfs, x, undoname(x)) for vfs, x in self._journalfiles()] |
2421 renames = [(vfs, x, undoname(x)) for vfs, x in self._journalfiles()] |
2414 if report: |
2422 if report: |
2415 rp = report |
2423 rp = report |
2416 else: |
2424 else: |
2417 rp = self.ui.warn |
2425 rp = self.ui.warn |
2418 vfsmap = {b'plain': self.vfs, b'store': self.svfs} # root of .hg/ |
2426 vfsmap = self.vfs_map |
2419 # we must avoid cyclic reference between repo and transaction. |
2427 # we must avoid cyclic reference between repo and transaction. |
2420 reporef = weakref.ref(self) |
2428 reporef = weakref.ref(self) |
2421 # Code to track tag movement |
2429 # Code to track tag movement |
2422 # |
2430 # |
2423 # Since tags are all handled as file content, it is actually quite hard |
2431 # Since tags are all handled as file content, it is actually quite hard |
2702 |
2710 |
2703 def recover(self): |
2711 def recover(self): |
2704 with self.lock(): |
2712 with self.lock(): |
2705 if self.svfs.exists(b"journal"): |
2713 if self.svfs.exists(b"journal"): |
2706 self.ui.status(_(b"rolling back interrupted transaction\n")) |
2714 self.ui.status(_(b"rolling back interrupted transaction\n")) |
2707 vfsmap = { |
2715 vfsmap = self.vfs_map |
2708 b'': self.svfs, |
|
2709 b'plain': self.vfs, |
|
2710 } |
|
2711 transaction.rollback( |
2716 transaction.rollback( |
2712 self.svfs, |
2717 self.svfs, |
2713 vfsmap, |
2718 vfsmap, |
2714 b"journal", |
2719 b"journal", |
2715 self.ui.warn, |
2720 self.ui.warn, |
2773 ui.status(msg) |
2778 ui.status(msg) |
2774 if dryrun: |
2779 if dryrun: |
2775 return 0 |
2780 return 0 |
2776 |
2781 |
2777 self.destroying() |
2782 self.destroying() |
2778 vfsmap = {b'plain': self.vfs, b'': self.svfs} |
2783 vfsmap = self.vfs_map |
2779 skip_journal_pattern = None |
2784 skip_journal_pattern = None |
2780 if not parentgone: |
2785 if not parentgone: |
2781 skip_journal_pattern = RE_SKIP_DIRSTATE_ROLLBACK |
2786 skip_journal_pattern = RE_SKIP_DIRSTATE_ROLLBACK |
2782 transaction.rollback( |
2787 transaction.rollback( |
2783 self.svfs, |
2788 self.svfs, |