summaryrefslogtreecommitdiff
path: root/src/plugins/git/branchdialog.cpp
diff options
context:
space:
mode:
authorPetar Perisin <petar.perisin@gmail.com>2013-07-11 22:53:38 +0200
committerPetar Perisin <petar.perisin@gmail.com>2013-07-15 16:51:46 +0200
commit771fe03cfeda0b8514556ca29889fb35116a41c5 (patch)
tree9d63cb9b467d7a9904bbe0417ed8d95cc07e7165 /src/plugins/git/branchdialog.cpp
parentf45a01b203f661f4ce1ff469ee36e4133e6d4ad0 (diff)
downloadqt-creator-771fe03cfeda0b8514556ca29889fb35116a41c5.tar.gz
Git - couple fixes in branch based auto stash
- do not start stash scope when creating auto stash - return if reset fails Change-Id: I471abc1d430351192c46ac78041949ba81f11b09 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
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);