summaryrefslogtreecommitdiff
path: root/src/plugins/git/branchdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/git/branchdialog.cpp')
-rw-r--r--src/plugins/git/branchdialog.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/git/branchdialog.cpp b/src/plugins/git/branchdialog.cpp
index 8fc07d8e0d..11459f3a31 100644
--- a/src/plugins/git/branchdialog.cpp
+++ b/src/plugins/git/branchdialog.cpp
@@ -192,15 +192,17 @@ void BranchDialog::checkout()
m_model->checkoutBranch(idx);
} else if (branchCheckoutDialog.exec() == QDialog::Accepted && m_model) {
- QString stashMessage;
- if (branchCheckoutDialog.makeStashOfCurrentBranch()
- || branchCheckoutDialog.moveLocalChangesToNextBranch()) {
-
- if (!gitClient->beginStashScope(m_repository, currentBranch + QLatin1String("-AutoStash"), NoPrompt))
+ if (branchCheckoutDialog.makeStashOfCurrentBranch()) {
+ if (!gitClient->executeSynchronousStash(m_repository,
+ currentBranch + QLatin1String("-AutoStash"))) {
+ return;
+ }
+ } else if (branchCheckoutDialog.moveLocalChangesToNextBranch()) {
+ if (!gitClient->beginStashScope(m_repository, QLatin1String("Checkout"), NoPrompt))
return;
- stashMessage = gitClient->stashInfo(m_repository).stashMessage();
} else if (branchCheckoutDialog.discardLocalChanges()) {
- gitClient->synchronousReset(m_repository);
+ if (!gitClient->synchronousReset(m_repository))
+ return;
}
m_model->checkoutBranch(idx);
@@ -214,7 +216,7 @@ void BranchDialog::checkout()
}
}
- if (!stashMessage.isEmpty() && branchCheckoutDialog.moveLocalChangesToNextBranch())
+ if (branchCheckoutDialog.moveLocalChangesToNextBranch())
gitClient->endStashScope(m_repository);
else if (branchCheckoutDialog.popStashOfNextBranch())
gitClient->synchronousStashRestore(m_repository, stashName, true);