diff options
author | Friedemann Kleint <[email protected]> | 2008-12-19 17:42:08 +0100 |
---|---|---|
committer | Friedemann Kleint <[email protected]> | 2008-12-19 17:42:08 +0100 |
commit | defc270896bfc852faa7cad19b154a314b2661e7 (patch) | |
tree | dc2efbdbefb534c56eaf91fca2356388eab56804 /src/plugins/git/gitclient.cpp | |
parent | 12bcc11389ff7946615ea306dd9a70c7eebbf8bc (diff) |
Fixes: Start a git branch dialog.
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r-- | src/plugins/git/gitclient.cpp | 42 |
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, |