mercurial/changelog.py
changeset 18379 e0c4f4ba624c
parent 18378 404feac78b8a
child 18587 cbf5f3eb9d13
equal deleted inserted replaced
18378:404feac78b8a 18379:e0c4f4ba624c
    25     text = text.replace('\\', '\\\\').replace('\n', '\\n').replace('\r', '\\r')
    25     text = text.replace('\\', '\\\\').replace('\n', '\\n').replace('\r', '\\r')
    26     return text.replace('\0', '\\0')
    26     return text.replace('\0', '\\0')
    27 
    27 
    28 def decodeextra(text):
    28 def decodeextra(text):
    29     """
    29     """
    30     >>> from pprint import pprint as pp
    30     >>> sorted(decodeextra(encodeextra({'foo': 'bar', 'baz': chr(0) + '2'})
    31     >>> pp(decodeextra(encodeextra({'foo': 'bar', 'baz': chr(0) + '2'})))
    31     ...                    ).iteritems())
    32     {'baz': '\\x002', 'branch': 'default', 'foo': 'bar'}
    32     [('baz', '\\x002'), ('branch', 'default'), ('foo', 'bar')]
    33     >>> pp(decodeextra(encodeextra({'foo': 'bar',
    33     >>> sorted(decodeextra(encodeextra({'foo': 'bar',
    34     ...                             'baz': chr(92) + chr(0) + '2'})))
    34     ...                                 'baz': chr(92) + chr(0) + '2'})
    35     {'baz': '\\\\\\x002', 'branch': 'default', 'foo': 'bar'}
    35     ...                    ).iteritems())
       
    36     [('baz', '\\\\\\x002'), ('branch', 'default'), ('foo', 'bar')]
    36     """
    37     """
    37     extra = _defaultextra.copy()
    38     extra = _defaultextra.copy()
    38     for l in text.split('\0'):
    39     for l in text.split('\0'):
    39         if l:
    40         if l:
    40             if '\\0' in l:
    41             if '\\0' in l: