aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/gitclient.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <[email protected]>2008-12-19 17:42:08 +0100
committerFriedemann Kleint <[email protected]>2008-12-19 17:42:08 +0100
commitdefc270896bfc852faa7cad19b154a314b2661e7 (patch)
treedc2efbdbefb534c56eaf91fca2356388eab56804 /src/plugins/git/gitclient.cpp
parent12bcc11389ff7946615ea306dd9a70c7eebbf8bc (diff)
Fixes: Start a git branch dialog.
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r--src/plugins/git/gitclient.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 83dafdc1b66..f3d507171d2 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -276,6 +276,13 @@ void GitClient::blame(const QString &workingDirectory, const QString &fileName)
executeGit(workingDirectory, arguments, editor);
}
+void GitClient::checkoutBranch(const QString &workingDirectory, const QString &branch)
+{
+ QStringList arguments(QLatin1String("checkout"));
+ arguments << branch;
+ executeGit(workingDirectory, arguments, 0, true);
+}
+
void GitClient::checkout(const QString &workingDirectory, const QString &fileName)
{
// Passing an empty argument as the file name is very dangereous, since this makes
@@ -395,6 +402,41 @@ bool GitClient::synchronousStash(const QString &workingDirectory, QString *error
return true;
}
+bool GitClient::synchronousBranchCmd(const QString &workingDirectory, QStringList branchArgs,
+ QString *output, QString *errorMessage)
+{
+ if (Git::Constants::debug)
+ qDebug() << Q_FUNC_INFO << workingDirectory << branchArgs;
+ branchArgs.push_front(QLatin1String("branch"));
+ QByteArray outputText;
+ QByteArray errorText;
+ const bool rc = synchronousGit(workingDirectory, branchArgs, &outputText, &errorText);
+ if (!rc) {
+ *errorMessage = tr("Unable to run branch command: %1: %2").arg(workingDirectory, QString::fromLocal8Bit(errorText));
+ return false;
+ }
+ *output = QString::fromLocal8Bit(outputText).remove(QLatin1Char('\r'));
+ return true;
+}
+
+bool GitClient::synchronousShow(const QString &workingDirectory, const QString &id,
+ QString *output, QString *errorMessage)
+{
+ if (Git::Constants::debug)
+ qDebug() << Q_FUNC_INFO << workingDirectory << id;
+ QStringList args(QLatin1String("show"));
+ args << id;
+ QByteArray outputText;
+ QByteArray errorText;
+ const bool rc = synchronousGit(workingDirectory, args, &outputText, &errorText);
+ if (!rc) {
+ *errorMessage = tr("Unable to run show: %1: %2").arg(workingDirectory, QString::fromLocal8Bit(errorText));
+ return false;
+ }
+ *output = QString::fromLocal8Bit(outputText).remove(QLatin1Char('\r'));
+ return true;
+}
+
void GitClient::executeGit(const QString &workingDirectory, const QStringList &arguments,
VCSBase::VCSBaseEditor* editor,