Merge lp:~jelmer/brz/encoding-false into lp:brz/3.1

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/encoding-false
Merge into: lp:brz/3.1
Diff against target: 46 lines (+22/-0)
2 files modified
breezy/git/mapping.py (+2/-0)
breezy/git/tests/test_mapping.py (+20/-0)
To merge this branch: bzr merge lp:~jelmer/brz/encoding-false
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Review via email: mp+396680@code.launchpad.net

Commit message

Cope with 'encoding: false' in Git commits.

Description of the change

Cope with 'encoding: false' in Git commits.

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) :
review: Approve
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/git/mapping.py'
2--- breezy/git/mapping.py 2020-08-13 18:22:05 +0000
3+++ breezy/git/mapping.py 2021-01-21 17:44:29 +0000
4@@ -418,9 +418,11 @@
5 rev.properties[u'author'] = commit.author.decode(encoding)
6 rev.message, rev.git_metadata = self._decode_commit_message(
7 rev, commit.message, encoding)
8+
9 if commit.encoding is not None:
10 rev.properties[u'git-explicit-encoding'] = commit.encoding.decode(
11 'ascii')
12+ if commit.encoding is not None and commit.encoding != b'false':
13 decode_using_encoding(rev, commit, commit.encoding.decode('ascii'))
14 else:
15 for encoding in ('utf-8', 'latin1'):
16
17=== modified file 'breezy/git/tests/test_mapping.py'
18--- breezy/git/tests/test_mapping.py 2020-06-08 23:03:56 +0000
19+++ breezy/git/tests/test_mapping.py 2021-01-21 17:44:29 +0000
20@@ -142,6 +142,26 @@
21 self.assertEqual("iso8859-1", rev.properties[u"git-explicit-encoding"])
22 self.assertTrue(u"git-implicit-encoding" not in rev.properties)
23
24+ def test_explicit_encoding_false(self):
25+ c = Commit()
26+ c.tree = b"cc9462f7f8263ef5adfbeff2fb936bb36b504cba"
27+ c.message = b"Some message"
28+ c.committer = b"Committer"
29+ c.commit_time = 4
30+ c.author_time = 5
31+ c.commit_timezone = 60 * 5
32+ c.author_timezone = 60 * 3
33+ c.author = u"Authér".encode("utf-8")
34+ c.encoding = b"false"
35+ mapping = BzrGitMappingv1()
36+ rev, roundtrip_revid, verifiers = mapping.import_commit(
37+ c, mapping.revision_id_foreign_to_bzr)
38+ self.assertEqual(None, roundtrip_revid)
39+ self.assertEqual({}, verifiers)
40+ self.assertEqual(u"Authér", rev.properties[u'author'])
41+ self.assertEqual("false", rev.properties[u"git-explicit-encoding"])
42+ self.assertTrue(u"git-implicit-encoding" not in rev.properties)
43+
44 def test_implicit_encoding_fallback(self):
45 c = Commit()
46 c.tree = b"cc9462f7f8263ef5adfbeff2fb936bb36b504cba"

Subscribers

People subscribed via source and target branches