diff mainwindow.cpp @ 121:6ce2ceb2c3a5

* Fix incremental log (was referring to "new" parents and so not actually returning anything)
author Chris Cannam
date Mon, 29 Nov 2010 11:04:52 +0000
parents c92f5859c707
children c3e8342d2de9
line wrap: on
line diff
--- a/mainwindow.cpp	Mon Nov 29 11:01:19 2010 +0000
+++ b/mainwindow.cpp	Mon Nov 29 11:04:52 2010 +0000
@@ -998,8 +998,6 @@
 
 void MainWindow::updateFileSystemWatcher()
 {
-    //!!! this needs to be incremental when something changes
-
     delete fsWatcher;
     fsWatcher = new QFileSystemWatcher();
     std::deque<QString> pending;
@@ -1229,20 +1227,27 @@
 
     enableDisableActions();
 
-    // Typical sequence goes paths -> branch -> stat -> heads -> parents -> log
+    // Sequence when no full log required:
+    //   paths -> branch -> stat -> incremental-log -> heads -> parents
+    // Sequence when full log required:
+    //   paths -> branch -> stat -> heads -> parents -> log
     if (action == ACT_QUERY_PATHS) {
         hgQueryBranch();
     } else if (action == ACT_QUERY_BRANCH) {
         hgStat();
     } else if (action == ACT_STAT) {
+        if (!needNewLog) {
+            hgLogIncremental();
+        } else {
+            hgQueryHeads();
+        }
+    } else if (action == ACT_LOG_INCREMENTAL) {
         hgQueryHeads();
     } else if (action == ACT_QUERY_HEADS) {
         hgQueryParents();
     } else if (action == ACT_QUERY_PARENTS) {
         if (needNewLog) {
             hgLog();
-        } else {
-            hgLogIncremental();
         }
     } else 
 /* Move to commandFailed