aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-06-14 23:19:01 +0300
committerOrgad Shaneh <orgads@gmail.com>2015-06-15 08:41:22 +0000
commitc621768b292f14fe544730ff4635eaa9bd1a3005 (patch)
tree7d9d2eecf83954aa4672559f28289bfaa44d9454 /src/plugins/git
parent905e5ea847c3d6ce91cc4f1c5bde5f576f03d2b1 (diff)
Git: Show original branch name while rebasing
Change-Id: I104afed7d2d5f37d391b7690f81fbad07363907c Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/git')
-rw-r--r--src/plugins/git/gitclient.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 27032a711c3..8e29f4012bc 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -1324,9 +1324,18 @@ QString GitClient::synchronousCurrentLocalBranch(const QString &workingDirectory
{
QByteArray outputTextData;
QStringList arguments;
+ QString branch;
arguments << QLatin1String("symbolic-ref") << QLatin1String(HEAD);
if (vcsFullySynchronousExec(workingDirectory, arguments, &outputTextData, 0, silentFlags)) {
- QString branch = commandOutputFromLocal8Bit(outputTextData.trimmed());
+ branch = commandOutputFromLocal8Bit(outputTextData.trimmed());
+ } else {
+ const QString gitDir = findGitDirForRepository(workingDirectory);
+ const QString rebaseHead = gitDir + QLatin1String("/rebase-merge/head-name");
+ QFile head(rebaseHead);
+ if (head.open(QFile::ReadOnly))
+ branch = QString::fromUtf8(head.readLine()).trimmed();
+ }
+ if (!branch.isEmpty()) {
const QString refsHeadsPrefix = QLatin1String("refs/heads/");
if (branch.startsWith(refsHeadsPrefix)) {
branch.remove(0, refsHeadsPrefix.count());