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: try to refresh close to patch that has been removed

Changeset 66d9445c8c46

Parent f332871420bb

by Steve Borho

Changes to one file · Browse files at 66d9445c8c46 Showing diff from parent f332871420bb Diff from another changeset...

 
552
553
554
 
 
555
556
557
 
617
618
619
620
621
622
 
 
 
 
 
 
 
 
 
 
 
 
 
623
624
625
 
552
553
554
555
556
557
558
559
 
619
620
621
 
 
 
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
@@ -552,6 +552,8 @@
  self.repomodel.loaded.connect(self.modelLoaded)   self.repomodel.showMessage.connect(self.showMessage)   self.repoview.setModel(self.repomodel) + if 'mq' in self.repo.extensions(): + self._last_series = self.repo.mq.series[:]     def modelFilled(self):   'initial batch of revisions loaded' @@ -617,9 +619,19 @@
    def rebuildGraph(self):   self.showMessage('') - if type(self.rev) is not int or len(self.repo) > self.rev: - self._reload_rev = self.rev - else: + self._reload_rev = self.rev + if type(self.rev) is str: + try: + if self.rev not in self.repo.mq.series: + # patch is no longer in the series, find a neighbor + idx = self._last_series.index(self._reload_rev) - 1 + self._reload_rev = self._last_series[idx] + while self._reload_rev not in self.repo.mq.series and idx: + idx -= 1 + self._reload_rev = self._last_series[idx] + except Exception, e: + self._reload_rev = 'tip' + elif self.rev is not None and len(self.repo) > self.rev:   self._reload_rev = 'tip'   self.setupModels()   self.revDetailsWidget.record()