From 616ea2e5bbcc93b3dafabfdfbf5daf510ddf2be0 Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Date: Mon, 14 Jul 2014 22:35:23 +0300
Subject: [PATCH] Git: Fix opening repository log when commit editor is open

Opening a commit editor inside a submodule then executing
Local Repository Log opens the log for the supermodule.

Change-Id: I264925e0f23e2372a09a28e788174a747f5870a8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 src/plugins/git/gitplugin.cpp         | 4 +++-
 src/plugins/vcsbase/vcsbaseplugin.cpp | 3 +--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index 62174897c6a..ea0d8a06074 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -1041,7 +1041,9 @@ Core::IEditor *GitPlugin::openSubmitEditor(const QString &fileName, const Commit
     default:
         title = tr("Git Commit");
     }
-    submitEditor->document()->setDisplayName(title);
+    Core::IDocument *document = submitEditor->document();
+    document->setDisplayName(title);
+    VcsBasePlugin::setSource(document, m_submitRepository);
     connect(submitEditor, SIGNAL(diff(QStringList,QStringList)), this, SLOT(submitEditorDiff(QStringList,QStringList)));
     connect(submitEditor, SIGNAL(merge(QStringList)), this, SLOT(submitEditorMerge(QStringList)));
     connect(submitEditor, SIGNAL(show(QString,QString)), m_gitClient, SLOT(show(QString,QString)));
diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp
index 5a4c16ba4c5..479e5823b53 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.cpp
+++ b/src/plugins/vcsbase/vcsbaseplugin.cpp
@@ -237,9 +237,8 @@ void StateListener::slotStateChanged()
         state.currentFile.clear();
     } else {
         state.currentFile = currentDocument->filePath();
-        if (state.currentFile.isEmpty()) {
+        if (state.currentFile.isEmpty() || currentDocument->isTemporary())
             state.currentFile = VcsBasePlugin::source(currentDocument);
-        }
     }
     QScopedPointer<QFileInfo> currentFileInfo; // Instantiate QFileInfo only once if required.
     if (!state.currentFile.isEmpty()) {
-- 
GitLab