hggtk/history: only refresh log window if new rev is checked out 0.2
authorTK Soh <teekaysoh@yahoo.com>
Sun, 13 Jan 2008 06:17:30 +0000
changeset 629 71fa0ab981e8
parent 628 f668034aeda3
child 630 31f144f75ec3
child 665 956cb1466f8f
hggtk/history: only refresh log window if new rev is checked out
hggtk/history.py
--- a/hggtk/history.py	Sun Jan 13 06:12:43 2008 +0000
+++ b/hggtk/history.py	Sun Jan 13 06:17:30 2008 +0000
@@ -606,6 +606,7 @@
     def _checkout(self, menuitem):
         row = self.model[self.tree.get_selection().get_selected()[1]]
         rev = long(row[2])
+        parents0 = [x.node() for x in self.repo.workingctx().parents()]
         
         dialog = UpdateDialog(self.cwd, rev)
         dialog.set_transient_for(self)
@@ -617,9 +618,14 @@
         dialog.set_transient_for(None)        
         dialog.hide()
         
-        shell_notify([self.repo.root])
-        self.repo.dirstate.invalidate()
-        self.reload_log()
+        # FIXME: re-open repo to retrieve the new parent data
+        root = self.repo.root
+        del self.repo
+        self.repo = hg.repository(ui.ui(), path=root)
+
+        parents1 = [x.node() for x in self.repo.workingctx().parents()]
+        if not parents0 == parents1:
+            self.reload_log()
 
     def _merge(self, menuitem):
         row = self.model[self.tree.get_selection().get_selected()[1]]