summaryrefslogtreecommitdiff
path: root/src/plugins/git/gitclient.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2013-08-26 21:57:38 +0300
committerOrgad Shaneh <orgads@gmail.com>2013-08-28 09:56:47 +0200
commit0865e9eb277c3cb743bc944f62f0ea188103ae52 (patch)
tree056437cb0d58c8ee879d7ec5df2e270d47daca78 /src/plugins/git/gitclient.cpp
parent51f69c8807b21e1b3f2f6d06eb1d5a7e45d3f669 (diff)
downloadqt-creator-0865e9eb277c3cb743bc944f62f0ea188103ae52.tar.gz
Git: List branches on show
Change-Id: Ie69a58efc7068c699abf0e3d396216d9809346f4 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r--src/plugins/git/gitclient.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index b1fc13a214..dcd85653d8 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -1800,6 +1800,22 @@ void GitClient::synchronousTagsForCommit(const QString &workingDirectory, const
}
}
+QStringList GitClient::synchronousBranchesForCommit(const QString &workingDirectory, const QString &revision)
+{
+ QString output;
+ QStringList arguments;
+ arguments << QLatin1String(noColorOption) << QLatin1String("-a")
+ << QLatin1String("--contains") << revision;
+ synchronousBranchCmd(workingDirectory, arguments, &output, 0);
+ QStringList res;
+ foreach (const QString &branch, output.split(QLatin1Char('\n'))) {
+ const QString b = branch.mid(2).trimmed();
+ if (!b.isEmpty())
+ res << b;
+ }
+ return res;
+}
+
bool GitClient::isRemoteCommit(const QString &workingDirectory, const QString &commit)
{
QStringList arguments;
@@ -1958,11 +1974,11 @@ bool GitClient::synchronousBranchCmd(const QString &workingDirectory, QStringLis
QByteArray errorText;
const bool rc = fullySynchronousGit(workingDirectory, branchArgs, &outputText, &errorText);
*output = commandOutputFromLocal8Bit(outputText);
- if (!rc) {
- *errorMessage = msgCannotRun(QLatin1String("git branch"), workingDirectory, commandOutputFromLocal8Bit(errorText));
- return false;
+ if (!rc && errorMessage) {
+ *errorMessage = msgCannotRun(QLatin1String("git branch"), workingDirectory,
+ commandOutputFromLocal8Bit(errorText));
}
- return true;
+ return rc;
}
bool GitClient::synchronousTagCmd(const QString &workingDirectory, QStringList tagArgs, QString *output, QString *errorMessage)