/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/git/mapping.py

Allow surrogateescape in revprops.

Merged from https://code.launchpad.net/~jelmer/brz/surrogateescape/+merge/385402

Show diffs side-by-side

added added

removed removed

Lines of Context:
344
344
            commit.author_timezone = commit.commit_timezone
345
345
        if u'git-gpg-signature' in rev.properties:
346
346
            commit.gpgsig = rev.properties[u'git-gpg-signature'].encode(
347
 
                'utf-8')
348
 
        if u'git-gpg-signature-b64' in rev.properties:
349
 
            commit.gpgsig = base64.b64decode(rev.properties[u'git-gpg-signature-b64'])
 
347
                'utf-8', 'surrogateencode')
350
348
        commit.message = self._encode_commit_message(rev, rev.message,
351
349
                                                     encoding)
352
350
        if not isinstance(commit.message, bytes):
359
357
            mapping_properties = set(
360
358
                [u'author', u'author-timezone', u'author-timezone-neg-utc',
361
359
                 u'commit-timezone-neg-utc', u'git-implicit-encoding',
362
 
                 u'git-gpg-signature', u'git-gpg-signature-b64',
363
 
                 u'git-explicit-encoding',
 
360
                 u'git-gpg-signature', u'git-explicit-encoding',
364
361
                 u'author-timestamp', u'file-modes'])
365
362
            for k, v in viewitems(rev.properties):
366
363
                if k not in mapping_properties:
442
439
        if commit._commit_timezone_neg_utc:
443
440
            rev.properties[u'commit-timezone-neg-utc'] = ""
444
441
        if commit.gpgsig:
445
 
            try:
446
 
                rev.properties[u'git-gpg-signature'] = commit.gpgsig.decode(
447
 
                    'utf-8')
448
 
            except UnicodeDecodeError:
449
 
                rev.properties[u'git-gpg-signature-b64'] = base64.b64encode(
450
 
                    commit.gpgsig)
 
442
            rev.properties[u'git-gpg-signature'] = commit.gpgsig.decode(
 
443
                'utf-8', 'surrogateescape')
451
444
        if commit.mergetag:
452
445
            for i, tag in enumerate(commit.mergetag):
453
446
                rev.properties[u'git-mergetag-%d' % i] = tag.as_raw_string()