From 8f03874bd73d04049848377a1365a3528e574140 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Tue, 10 Feb 2009 08:38:12 +0100
Subject: [PATCH] Fixes: Add log message to SVN description

---
 src/plugins/subversion/subversionplugin.cpp | 22 +++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index a41525fe19e..f998332593a 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -864,7 +864,20 @@ void SubversionPlugin::describe(const QString &source, const QString &changeNr)
     const int number = changeNr.toInt(&ok);
     if (!ok || number < 2)
         return;
-    QStringList args(QLatin1String("diff"));
+    // Run log to obtain message (local utf8)
+    QString description;
+    QStringList args(QLatin1String("log"));
+    args.push_back(QLatin1String("-r"));
+    args.push_back(changeNr);
+    args.push_back(topLevel);
+    const SubversionResponse logResponse = runSvn(args, subversionShortTimeOut, false);
+    if (logResponse.error)
+        return;
+    description = logResponse.stdOut;
+
+    // Run diff (encoding via source codec)
+    args.clear();
+    args.push_back(QLatin1String("diff"));
     args.push_back(QLatin1String("-r"));
     QString diffArg;
     QTextStream(&diffArg) << (number - 1) << ':' << number;
@@ -875,16 +888,17 @@ void SubversionPlugin::describe(const QString &source, const QString &changeNr)
     const SubversionResponse response = runSvn(args, subversionShortTimeOut, false, codec);
     if (response.error)
         return;
+    description += response.stdOut;
 
     // Re-use an existing view if possible to support
     // the common usage pattern of continuously changing and diffing a file
-    const QString id = diffArg + source;
+    const QString id = diffArg + source;    
     if (Core::IEditor *editor = locateEditor("describeChange", id)) {
-        editor->createNew(response.stdOut);
+        editor->createNew(description);
         Core::EditorManager::instance()->setCurrentEditor(editor);
     } else {
         const QString title = tr("svn describe %1#%2").arg(QFileInfo(source).fileName(), changeNr);
-        Core::IEditor *newEditor = showOutputInEditor(title, response.stdOut, VCSBase::DiffOutput, source, codec);
+        Core::IEditor *newEditor = showOutputInEditor(title, description, VCSBase::DiffOutput, source, codec);
         newEditor->setProperty("describeChange", id);
     }
 }
-- 
GitLab