>From 7fd7360ef5b4f453ceb8e32b18f73f9fbcaa95b7 Mon Sep 17 00:00:00 2001
From: Sergei Golubchik <vuv...@gmail.com>
Date: Thu, 15 May 2014 17:50:16 +0200
Subject: [PATCH] git-remote-bzr: support bzr per-file comments
Bazaar supports per-file comments in revisions - using bzr-gtk one can
write a global revisions comment and comments for individual files too
(this was apparently modelled after a similar feature in BitKeeper).
When exporting a bzr repository to git these file comments are lost.
This patch makes them to be not lost but appear as a part of the commit
comment instead. Empty file comments and file comments identical to the
commit comment are skipped (they add no value as a part of the commit
comment). Corrupted file comments are ignored too (there is one old
revision corrupted like that in the MariaDB/MySQL tree).
contrib/remote-helpers/git-remote-bzr | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/contrib/remote-helpers/git-remote-bzr
index 9abb58e..c659cf6 100755
@@ -311,6 +311,22 @@ def export_branch(repo, name):
author = committer
msg = rev.message.encode('utf-8')
+ if rev.properties.has_key('file-info'):
+ from bzrlib import bencode
+ files =
+ except Exception, e:
+ warn ('file-info for revid:%s ignored, decoding error: %s',
+ files = ()
+ rmsg = msg.rstrip('\r\n ')
+ msg += '\n'
+ for file in files:
+ fmsg = file['message'].rstrip('\r\n ')
+ if fmsg != '' and fmsg != rmsg:
+ msg += '\n%s:' % (file['path'],)
+ for l in fmsg.split('\n'):
+ msg += '\n %s' % (l,)
msg += '\n'
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html