aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/gitclient.h
diff options
context:
space:
mode:
authorOrgad Shaneh <[email protected]>2013-05-12 21:25:31 +0300
committerOrgad Shaneh <[email protected]>2013-05-27 10:43:44 +0200
commitb75cf9686857da1166ce1b71cfb21da53e1c712e (patch)
treefa56447460849cf21530b58ee1c359f989795579 /src/plugins/git/gitclient.h
parent829357b39739f31ff68bf2e066e594c75f352243 (diff)
Git: Refactor stash handling
* Replace RebaseManager with ConflictHandler * Store StashGuard in GitClient, allow popping after a whole process is done (e.g. pull with resolved conflicts) Change-Id: I85784f32f515ff896c73f35303c7de26f8006f59 Reviewed-by: Tobias Hunger <[email protected]>
Diffstat (limited to 'src/plugins/git/gitclient.h')
-rw-r--r--src/plugins/git/gitclient.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index 986f24b2e40..d71b47ac888 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -94,18 +94,16 @@ public:
enum CommandInProgress { NoCommand, Revert, CherryPick,
Rebase, Merge, RebaseMerge };
- class StashGuard
+ class StashInfo
{
public:
+ StashInfo();
enum StashResult { StashUnchanged, StashCanceled, StashFailed,
Stashed, NotStashed /* User did not want it */ };
- StashGuard(const QString &workingDirectory, const QString &keyword,
- StashFlag flag = Default);
- ~StashGuard();
-
- void preventPop();
+ bool init(const QString &workingDirectory, const QString &keyword, StashFlag flag = Default);
bool stashingFailed() const;
+ void end();
StashResult result() const { return m_stashResult; }
QString stashMessage() const { return m_message; }
@@ -113,7 +111,6 @@ public:
void stashPrompt(const QString &keyword, const QString &statusOutput, QString *errorMessage);
void executeStash(const QString &keyword, QString *errorMessage);
- bool m_pop;
StashResult m_stashResult;
QString m_message;
QString m_workingDir;
@@ -241,8 +238,7 @@ public:
const QString &topicBranch = QString());
bool synchronousRevert(const QString &workingDirectory, const QString &commit);
bool synchronousCherryPick(const QString &workingDirectory, const QString &commit);
- void interactiveRebase(const QString &workingDirectory, const QString &commit,
- StashGuard &stashGuard, bool fixup);
+ void interactiveRebase(const QString &workingDirectory, const QString &commit, bool fixup);
void synchronousAbortCommand(const QString &workingDir, const QString &abortCommand);
QString synchronousTrackingBranch(const QString &workingDirectory,
const QString &branch = QString());
@@ -302,6 +298,9 @@ public:
QProcessEnvironment processEnvironment() const;
+ bool beginStashScope(const QString &workingDirectory, const QString &keyword, StashFlag flag = Default);
+ StashInfo &stashInfo(const QString &workingDirectory);
+ void endStashScope(const QString &workingDirectory);
bool isValidRevision(const QString &revision) const;
void handleMergeConflicts(const QString &workingDir, const QString &commit, const QString &abortCommand);
@@ -386,6 +385,7 @@ private:
QSignalMapper *m_repositoryChangedSignalMapper;
GitSettings *m_settings;
QString m_gitQtcEditor;
+ QMap<QString, StashInfo> m_stashInfo;
bool m_disableEditor;
};