]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Use "svn commit -F" instead of "svn commit -m" to provide a commit description, other...
authorPeter Penz <peter.penz19@gmail.com>
Thu, 30 Jul 2009 21:22:14 +0000 (21:22 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Thu, 30 Jul 2009 21:22:14 +0000 (21:22 +0000)
Tested with local SVN repository, I hope everything works now too with this official commit...

svn path=/trunk/KDE/kdebase/apps/; revision=1004788

src/revisioncontrolplugin.cpp

index 905b9138083d146909b851ce186dc39f2d80d54a..77a7b1290427c966e9059b685e305784cbd0d48a 100644 (file)
@@ -40,6 +40,7 @@ RevisionControlPlugin::~RevisionControlPlugin()
 #include <kshell.h>
 #include <kvbox.h>
 #include <QDir>
+#include <QFile>
 #include <QLabel>
 #include <QProcess>
 #include <QString>
@@ -272,8 +273,19 @@ void SubversionPlugin::commitFiles()
     dialog.restoreDialogSize(dialogConfig);
 
     if (dialog.exec() == QDialog::Accepted) {
-        const QString description = editor->toPlainText();
-        execSvnCommand("commit -m " + KShell::quoteArg(description),
+        // write the commit description into a temporary file, so
+        // that it can be read by the command "svn commit -F"
+        QFile file(QDir::tempPath() + "/svn_commit_descr.txt");
+        if (!file.open(QIODevice::WriteOnly | QIODevice::Text))  {
+            emit errorMessage(i18nc("@info:status", "Commit of SVN changes failed."));
+            return;
+        }
+
+        QTextStream out(&file);
+        out << editor->toPlainText();
+        file.close();
+
+        execSvnCommand("commit -F " + KShell::quoteArg(file.fileName()),
                        i18nc("@info:status", "Committing SVN changes..."),
                        i18nc("@info:status", "Commit of SVN changes failed."),
                        i18nc("@info:status", "Committed SVN changes."));