diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 90bd390e27fb12dee9073ed4dd1c68cdf2ca7448..67b456755bb61013b631959f3b982b54d37d4a34 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -63,12 +63,13 @@ #include <vcsbase/vcsbaseoutputwindow.h> #include <vcsbase/vcsbaseplugin.h> -#include <QRegExp> -#include <QTime> -#include <QFileInfo> +#include <QCoreApplication> #include <QDir> +#include <QFileInfo> #include <QHash> +#include <QRegExp> #include <QSignalMapper> +#include <QTime> #include <QComboBox> #include <QMessageBox> @@ -401,6 +402,9 @@ GitClient::GitClient(GitSettings *settings) : { QTC_CHECK(settings); connect(Core::ICore::instance(), SIGNAL(saveSettingsRequested()), this, SLOT(saveSettings())); + m_gitQtcEditor = QString::fromLatin1("\"%1\" -client -block -pid %2") + .arg(QCoreApplication::applicationFilePath()) + .arg(QCoreApplication::applicationPid()); } GitClient::~GitClient() @@ -1538,6 +1542,7 @@ QProcessEnvironment GitClient::processEnvironment() const && settings()->boolValue(GitSettings::winSetHomeEnvironmentKey)) { environment.insert(QLatin1String("HOME"), QDir::toNativeSeparators(QDir::homePath())); } + environment.insert(QLatin1String("GIT_EDITOR"), m_gitQtcEditor); // Set up SSH and C locale (required by git using perl). VcsBase::VcsBasePlugin::setProcessEnvironment(&environment, false); return environment; diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 59dd9bb3af501f34f15fd7ce77fb65ebb9f093f4..63344a8562a0ebc74d4991bbaa6a715ede0a8468 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -341,6 +341,7 @@ private: const QString m_msgWait; QSignalMapper *m_repositoryChangedSignalMapper; GitSettings *m_settings; + QString m_gitQtcEditor; }; } // namespace Internal