# # # patch "src/model/GetBranchLog.cpp" # from [2db62d5dcefd54666050618e5948616392fcc28e] # to [721cc582a4dcce9b60b515667d07c7062e65791f] # ============================================================ --- src/model/GetBranchLog.cpp 2db62d5dcefd54666050618e5948616392fcc28e +++ src/model/GetBranchLog.cpp 721cc582a4dcce9b60b515667d07c7062e65791f @@ -148,6 +148,7 @@ void GetBranchLog::processTaskResult(con if (nextRevs.value(currentBranch).contains(rev)) processed.append(rev); } + foreach (const QString & rev, nextRevs.value(currentBranch)) { if (!revs.contains(rev)) @@ -168,6 +169,23 @@ void GetBranchLog::processTaskResult(con QStringList revs = output.split("\n", QString::SkipEmptyParts); + // if we couldn't find any heads for the selected branch, + // try a little harder to find some heads by including any + // suspended ones + if (current == "select" && revs.size() == 0) + { + // ensure we haven't done all this already + I(task->getOptions().size() == 0); + + MonotoneTaskPtr task(new MonotoneTask( + QStringList() << "select" << "h:" + currentBranch, + QStringList() << "ignore-suspend-certs" << "" + )); + + AutomateCommand::enqueueDatabaseTask(databaseFile, task); + return; + } + if (current == "parents") { parentMap.insert(task->getArguments().at(1), revs);