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