108
107
c.author_timezone = 60 * 3
109
108
c.author = b"Author"
110
109
mapping = BzrGitMappingv1()
111
rev, roundtrip_revid, verifiers = mapping.import_commit(c,
112
mapping.revision_id_foreign_to_bzr)
110
rev, roundtrip_revid, verifiers = mapping.import_commit(
111
c, mapping.revision_id_foreign_to_bzr)
113
112
self.assertEqual(None, roundtrip_revid)
114
113
self.assertEqual({}, verifiers)
115
114
self.assertEqual(u"Some message", rev.message)
133
132
c.author = u"Authér".encode("iso8859-1")
134
133
c.encoding = b"iso8859-1"
135
134
mapping = BzrGitMappingv1()
136
rev, roundtrip_revid, verifiers = mapping.import_commit(c,
137
mapping.revision_id_foreign_to_bzr)
135
rev, roundtrip_revid, verifiers = mapping.import_commit(
136
c, mapping.revision_id_foreign_to_bzr)
138
137
self.assertEqual(None, roundtrip_revid)
139
138
self.assertEqual({}, verifiers)
140
139
self.assertEqual(u"Authér", rev.properties[u'author'])
152
151
c.author_timezone = 60 * 3
153
152
c.author = u"Authér".encode("latin1")
154
153
mapping = BzrGitMappingv1()
155
rev, roundtrip_revid, verifiers = mapping.import_commit(c,
156
mapping.revision_id_foreign_to_bzr)
154
rev, roundtrip_revid, verifiers = mapping.import_commit(
155
c, mapping.revision_id_foreign_to_bzr)
157
156
self.assertEqual(None, roundtrip_revid)
158
157
self.assertEqual({}, verifiers)
159
158
self.assertEqual(u"Authér", rev.properties[u'author'])
171
170
c.author_timezone = 60 * 3
172
171
c.author = u"Authér".encode("utf-8")
173
172
mapping = BzrGitMappingv1()
174
rev, roundtrip_revid, verifiers = mapping.import_commit(c,
175
mapping.revision_id_foreign_to_bzr)
173
rev, roundtrip_revid, verifiers = mapping.import_commit(
174
c, mapping.revision_id_foreign_to_bzr)
176
175
self.assertEqual(None, roundtrip_revid)
177
176
self.assertEqual({}, verifiers)
178
177
self.assertEqual(u"Authér", rev.properties[u'author'])
193
192
mapping = BzrGitMappingv1()
194
193
self.assertRaises(UnknownCommitExtra, mapping.import_commit, c,
195
194
mapping.revision_id_foreign_to_bzr)
195
mapping.import_commit(c, mapping.revision_id_foreign_to_bzr, strict=False)
197
197
def test_mergetag(self):
217
217
self.assertEqual(
218
218
rev.properties[u'git-mergetag-0'], tag.as_raw_string())
220
def test_unknown_hg_fields(self):
222
c.tree = b"cc9462f7f8263ef5adfbeff2fb936bb36b504cba"
223
c.message = b"Some message"
224
c.committer = b"Committer"
227
c.commit_timezone = 60 * 5
228
c.author_timezone = 60 * 3
230
c._extra = [(b"HG:extra", b"bla:Foo")]
231
mapping = BzrGitMappingv1()
233
UnknownMercurialCommitExtra,
234
mapping.import_commit, c, mapping.revision_id_foreign_to_bzr)
235
mapping.import_commit(
236
c, mapping.revision_id_foreign_to_bzr, strict=False)
238
mapping.revision_id_foreign_to_bzr(c.id),
239
mapping.get_revision_id(c))
241
def test_invalid_utf8(self):
243
c.tree = b"cc9462f7f8263ef5adfbeff2fb936bb36b504cba"
244
c.message = b"Some message \xc1"
245
c.committer = b"Committer"
248
c.commit_timezone = 60 * 5
249
c.author_timezone = 60 * 3
251
mapping = BzrGitMappingv1()
253
mapping.revision_id_foreign_to_bzr(c.id),
254
mapping.get_revision_id(c))
221
257
class RoundtripRevisionsFromBazaar(tests.TestCase):
230
266
commit = self.mapping.export_commit(orig_rev, b"mysha",
231
267
self._lookup_parent, True, b"testamentsha")
232
268
rev, roundtrip_revid, verifiers = self.mapping.import_commit(
233
commit, self.mapping.revision_id_foreign_to_bzr)
269
commit, self.mapping.revision_id_foreign_to_bzr, strict=True)
234
270
self.assertEqual(rev.revision_id,
235
271
self.mapping.revision_id_foreign_to_bzr(commit.id))
236
272
if self.mapping.roundtripping:
302
338
def assertRoundtripCommit(self, commit1):
303
339
rev, roundtrip_revid, verifiers = self.mapping.import_commit(
304
commit1, self.mapping.revision_id_foreign_to_bzr)
340
commit1, self.mapping.revision_id_foreign_to_bzr, strict=True)
305
341
commit2 = self.mapping.export_commit(rev, "12341212121212", None,
307
343
self.assertEqual(commit1.committer, commit2.committer)
405
441
fix_person_identifier(b"bar@blah.nl"))
407
443
def test_fix(self):
408
self.assertEqual(b"person <bar@blah.nl>",
409
fix_person_identifier(b"somebody <person <bar@blah.nl>>"))
410
self.assertEqual(b"person <bar@blah.nl>",
411
fix_person_identifier(b"person<bar@blah.nl>"))
445
b"person <bar@blah.nl>",
446
fix_person_identifier(b"somebody <person <bar@blah.nl>>"))
448
b"person <bar@blah.nl>",
449
fix_person_identifier(b"person<bar@blah.nl>"))
451
b'Rohan Garg <rohangarg@kubuntu.org>',
452
fix_person_identifier(b'Rohan Garg <rohangarg@kubuntu.org'))
412
453
self.assertRaises(ValueError,
413
454
fix_person_identifier, b"person >bar@blah.nl<")