# # # patch "src/view/dialogs/CheckoutRevision.cpp" # from [9440a978439b841f51ec6635032c539e15ee03a5] # to [f86c498243bc38942db1db156570f7ad69a33710] # # patch "src/view/dialogs/CheckoutRevision.h" # from [6f41da35ec8cd03be446825070590bebe4fed890] # to [519d02c75386f8576a23484cc59bc8b6bc87004d] # ============================================================ --- src/view/dialogs/CheckoutRevision.cpp 9440a978439b841f51ec6635032c539e15ee03a5 +++ src/view/dialogs/CheckoutRevision.cpp f86c498243bc38942db1db156570f7ad69a33710 @@ -21,6 +21,7 @@ #include "CheckoutRevision.h" #include "MonotoneUtil.h" #include "Settings.h" +#include "WorkspaceCreator.h" #include @@ -232,12 +233,21 @@ void CheckoutRevision::accept() if (btn == QMessageBox::No) return; } - selectedRevisionId = revList.at(0); - selectedCheckoutDirectory = checkoutDir; + WorkspaceCreator creator(databaseFile, revList.at(0), checkoutDir); - D(QString("Selected %1 to be checked out to %2").arg(selectedRevisionId) - .arg(selectedCheckoutDirectory.absolutePath()) - ); + if (!creator.run()) + { + QMessageBox::critical( + this, + tr("Checkout failed"), + tr("The checkout failed - please report this problem to " + "the author and attach the guitone.log in your home directory."), + QMessageBox::Ok + ); + return; + } + + emit revisionCheckedOut(checkoutDir.absolutePath()); done(0); } ============================================================ --- src/view/dialogs/CheckoutRevision.h 6f41da35ec8cd03be446825070590bebe4fed890 +++ src/view/dialogs/CheckoutRevision.h 519d02c75386f8576a23484cc59bc8b6bc87004d @@ -46,6 +46,7 @@ signals: signals: void selectRevisionFromSelector(const QString &); + void revisionCheckedOut(const QString &); private: Branches * branchesModel;