From d87f03825daedd16c24b949a3c815c4435100e27 Mon Sep 17 00:00:00 2001
From: cerf <delorme.hugues@gmail.com>
Date: Fri, 18 Mar 2011 09:55:36 +0100
Subject: [PATCH] Bazaar: fix commit error for 'rename' changes

Merge-request: 276
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
---
 src/plugins/bazaar/bazaarplugin.cpp | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/plugins/bazaar/bazaarplugin.cpp b/src/plugins/bazaar/bazaarplugin.cpp
index 182ac08a3f5..c9c2a5a7266 100644
--- a/src/plugins/bazaar/bazaarplugin.cpp
+++ b/src/plugins/bazaar/bazaarplugin.cpp
@@ -627,13 +627,21 @@ bool BazaarPlugin::submitEditorAboutToClose(VCSBase::VCSBaseSubmitEditor *submit
         break;
     }
 
-    const QStringList files = commitEditor->checkedFiles();
+    QStringList files = commitEditor->checkedFiles();
     if (!files.empty()) {
         //save the commit message
         m_core->fileManager()->blockFileChange(editorFile);
         editorFile->save();
         m_core->fileManager()->unblockFileChange(editorFile);
 
+        //rewrite entries of the form 'file => newfile' to 'newfile' because
+        //this would mess the commit command
+        for (QStringList::iterator iFile = files.begin(); iFile != files.end(); ++iFile) {
+            const QStringList parts = iFile->split(" => ", QString::SkipEmptyParts);
+            if (!parts.isEmpty())
+                *iFile = parts.last();
+        }
+
         const BazaarCommitWidget* commitWidget = commitEditor->commitWidget();
         BazaarClient::ExtraCommandOptions extraOptions;
         extraOptions[BazaarClient::AuthorCommitOptionId] = commitWidget->committer();
-- 
GitLab