# # # patch "src/monotone/MonotoneUtil.cpp" # from [fd7e84d72293df5df40475b78e1d48c66c4db067] # to [1255e6c954679374f3e88d4bafc1dc72368392f6] # # patch "src/monotone/MonotoneUtil.h" # from [b893f5d1e91cdfc142c44b69ddb86d9dfab8b51f] # to [3bd3538101a0a176185cc1193a847e1dc7fec430] # # patch "src/view/mainwindows/DatabaseWindow.cpp" # from [11a5a3244707aad985e490ab0ee1b9d91ca2e597] # to [62c0960b4f1f9e0f4528d402981cb911f9cc9c51] # ============================================================ --- src/monotone/MonotoneUtil.cpp fd7e84d72293df5df40475b78e1d48c66c4db067 +++ src/monotone/MonotoneUtil.cpp 1255e6c954679374f3e88d4bafc1dc72368392f6 @@ -389,13 +389,14 @@ QString MonotoneUtil::getFileId(const Da return data; } -QStringList MonotoneUtil::getRoots(const DatabaseFile & db) +QStringList MonotoneUtil::getRoots(const DatabaseFile & db, bool & ok) { MonotoneTaskPtr task(new MonotoneTask(QStringList() << "roots")); runSynchronousDatabaseTask(db, task); if (!task->isFinished()) { C(QString("task '%1' aborted").arg(QString(task->getEncodedInput()))); + ok = false; return QStringList(); } @@ -403,9 +404,11 @@ QStringList MonotoneUtil::getRoots(const { C(QString("Couldn't query roots: %1") .arg(task->getLast(MonotoneTask::Error))); + ok = false; return QStringList(); } + ok = true; QString data = task->getDecodedOutput(); return data.split('\n', QString::SkipEmptyParts); } ============================================================ --- src/monotone/MonotoneUtil.h b893f5d1e91cdfc142c44b69ddb86d9dfab8b51f +++ src/monotone/MonotoneUtil.h 3bd3538101a0a176185cc1193a847e1dc7fec430 @@ -41,7 +41,7 @@ public: static QMap getPrivateKeyList(const DatabaseFile &); static QStringList getPreviousContentMarks(const DatabaseFile &, const QString &, const QString &); static QString getFileId(const DatabaseFile &, const QString &); - static QStringList getRoots(const DatabaseFile &); + static QStringList getRoots(const DatabaseFile &, bool &); static QStringList topsortRevisions(const DatabaseFile &, const QStringList &); static QStringList getCommonAncestors(const DatabaseFile &, const QStringList &); static bool getAttribute(const WorkspacePath &, const QString &, const QString &, QPair &); ============================================================ --- src/view/mainwindows/DatabaseWindow.cpp 11a5a3244707aad985e490ab0ee1b9d91ca2e597 +++ src/view/mainwindows/DatabaseWindow.cpp 62c0960b4f1f9e0f4528d402981cb911f9cc9c51 @@ -172,7 +172,8 @@ void DatabaseWindow::checkForEmptyDataba void DatabaseWindow::checkForEmptyDatabase() { - if (MonotoneUtil::getRoots(databaseFile).size() == 0) + bool ok; + if (MonotoneUtil::getRoots(databaseFile, ok).size() == 0 && ok) { QMessageBox msgBox(this); msgBox.setWindowFlags(Qt::Sheet);