aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/gitclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/git/gitclient.h')
-rw-r--r--src/plugins/git/gitclient.h46
1 files changed, 39 insertions, 7 deletions
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index 6d6e0c25373..790273aa06a 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -41,6 +41,7 @@
QT_BEGIN_NAMESPACE
class QErrorMessage;
class QSignalMapper;
+class QDebug;
QT_END_NAMESPACE
namespace Core {
@@ -59,12 +60,15 @@ class GitOutputWindow;
class GitCommand;
struct CommitData;
struct GitSubmitEditorPanelData;
+struct Stash;
class GitClient : public QObject
{
Q_OBJECT
public:
+ static const char *stashNamePrefix;
+
explicit GitClient(GitPlugin *plugin);
~GitClient();
@@ -84,17 +88,37 @@ public:
bool enableAnnotationContextMenu = false);
void blame(const QString &workingDirectory, const QString &fileName,
const QString &revision = QString(), int lineNumber = -1);
- void showCommit(const QString &workingDirectory, const QString &commit);
void checkout(const QString &workingDirectory, const QString &file);
void checkoutBranch(const QString &workingDirectory, const QString &branch);
- void hardReset(const QString &workingDirectory, const QString &commit);
+ void hardReset(const QString &workingDirectory, const QString &commit = QString());
void addFile(const QString &workingDirectory, const QString &fileName);
bool synchronousAdd(const QString &workingDirectory, const QStringList &files);
- bool synchronousReset(const QString &workingDirectory, const QStringList &files);
- bool synchronousReset(const QString &workingDirectory, const QStringList &files, QString *errorMessage);
+ bool synchronousReset(const QString &workingDirectory,
+ const QStringList &files = QStringList(),
+ QString *errorMessage = 0);
bool synchronousInit(const QString &workingDirectory);
- bool synchronousCheckout(const QString &workingDirectory, const QStringList &files, QString *errorMessage);
- bool synchronousStash(const QString &workingDirectory, QString *errorMessage);
+ bool synchronousCheckoutFiles(const QString &workingDirectory,
+ QStringList files = QStringList(),
+ QString revision = QString(), QString *errorMessage = 0);
+ // Checkout branch
+ bool synchronousCheckoutBranch(const QString &workingDirectory, const QString &branch, QString *errorMessage = 0);
+
+ // Do a stash and return identier.
+ enum { StashPromptDescription = 0x1, StashImmediateRestore = 0x2, StashIgnoreUnchanged = 0x4 };
+ QString synchronousStash(const QString &workingDirectory,
+ const QString &messageKeyword = QString(),
+ unsigned flags = 0, bool *unchanged = 0);
+
+ bool executeSynchronousStash(const QString &workingDirectory,
+ const QString &message = QString(),
+ QString *errorMessage = 0);
+ bool synchronousStashRestore(const QString &workingDirectory,
+ const QString &stash,
+ const QString &branch = QString(),
+ QString *errorMessage = 0);
+ bool synchronousStashRemove(const QString &workingDirectory,
+ const QString &stash = QString(),
+ QString *errorMessage = 0);
bool synchronousBranchCmd(const QString &workingDirectory, QStringList branchArgs,
QString *output, QString *errorMessage);
bool synchronousShow(const QString &workingDirectory, const QString &id,
@@ -110,15 +134,23 @@ public:
const QString &format, QString *description, QString *errorMessage);
bool synchronousShortDescriptions(const QString &workingDirectory, const QStringList &revisions,
QStringList *descriptions, QString *errorMessage);
+ bool synchronousTopRevision(const QString &workingDirectory, QString *revision = 0,
+ QString *branch = 0, QString *errorMessage = 0);
void pull(const QString &workingDirectory);
void push(const QString &workingDirectory);
- void stash(const QString &workingDirectory);
void stashPop(const QString &workingDirectory);
void revert(const QStringList &files);
void branchList(const QString &workingDirectory);
void stashList(const QString &workingDirectory);
+ bool synchronousStashList(const QString &workingDirectory,
+ QList<Stash> *stashes,
+ QString *errorMessage = 0);
+ // Resolve a stash name from message (for IVersionControl's names).
+ bool stashNameFromMessage(const QString &workingDirectory,
+ const QString &messge, QString *name,
+ QString *errorMessage = 0);
QString readConfig(const QString &workingDirectory, const QStringList &configVar);