Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.0, 2.0.1, and 2.0.2

stable repowidget: clear revision set if repository is stripped

Since we keep revision sets as a sorted list of revision numbers (for a handful
of reasons), they can become invalid if the repository is stripped. So if we
ever detect the repository shrinking, we invalidate any applied revision set.

Changeset 7a3ea5f7890e

Parent e826b484d5cc

by Steve Borho

Changes to one file · Browse files at 7a3ea5f7890e Showing diff from parent e826b484d5cc Diff from another changeset...

 
65
66
67
 
68
69
70
 
627
628
629
630
631
632
633
 
634
 
 
 
 
 
 
 
 
 
 
 
 
 
 
635
636
637
 
648
649
650
 
651
 
652
653
654
 
65
66
67
68
69
70
71
 
628
629
630
 
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
 
663
664
665
666
667
668
669
670
671
@@ -65,6 +65,7 @@
  self.bundle = None   self.revset = set()   self.namedTabs = {} + self.repolen = len(repo)     if repo.parents()[0].rev() == -1:   self._reload_rev = 'tip' @@ -627,11 +628,25 @@
  'Initiate a refresh of the repo model, rebuild graph'   self.repo.thginvalidate()   self.rebuildGraph() - self.filterbar.refresh()   self.reloadTaskTab()     def rebuildGraph(self): + 'Called by repositoryChanged signals, and during reload'   self.showMessage('') + + if len(self.repo) < self.repolen: + # repo has been stripped, invalidate active revision sets + if self.bundle: + self.clearBundle() + self.showMessage(_('Repository stripped, incoming preview ' + ' cleared')) + elif self.revset: + self.revset = [] + self.filterbar.revsetle.setText('') + self.showMessage(_('Repository stripped, revision set cleared')) + if not self.bundle: + self.repolen = len(self.repo) +   self._reload_rev = self.rev   if self.rev is None:   pass @@ -648,7 +663,9 @@
  self._reload_rev = 'tip'   elif len(self.repo) <= self.rev:   self._reload_rev = 'tip' +   self.setupModels() + self.filterbar.refresh()     def reloadTaskTab(self):   tti = self.taskTabsWidget.currentIndex()