D6185: changelog: pass default extras into decodeextra()
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Sat Apr 13 18:14:41 EDT 2019
martinvonz added a comment.
In https://phab.mercurial-scm.org/D6185#90696, @yuja wrote:
> > +def decodeextra(text, default):
> >
> > """
> > >>> from .pycompat import bytechr as chr
> >
> > - >>> sorted(decodeextra(encodeextra({b'foo': b'bar', b'baz': chr(0) + b'2'})
> > - ... ).items()) + >>> sorted(decodeextra(encodeextra({b'foo': b'bar', b'baz': chr(0) + b'2'}), + ... _defaultextra).items()) [('baz', '\\x002'), ('branch', 'default'), ('foo', 'bar')] >>> sorted(decodeextra(encodeextra({b'foo': b'bar',
> > - ... b'baz': chr(92) + chr(0) + b'2'})
> > - ... ).items()) + ... b'baz': chr(92) + chr(0) + b'2'}), + ... _defaultextra).items())
>
> Maybe these tests update `_defaultextra` in place?
>
> > [('baz', '\\\\\\x002'), ('branch', 'default'), ('foo', 'bar')]
> > """
> >
> > - extra = _defaultextra.copy() + extra = default
>
> I think it's safer to do `default.copy()` here.
Good point. I'll change it.
>
>
>> for l in text.split('\0'):
>> if l:
>> k, v = _string_unescape(l).split(':', 1)
>>
>> @@ -275,7 +275,7 @@
>>
>> if raw is None:
>> return _defaultextra
>>
>>
>> - return decodeextra(raw) + return decodeextra(raw, _defaultextra.copy())
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6185
To: martinvonz, #hg-reviewers
Cc: yuja, mercurial-devel
More information about the Mercurial-devel
mailing list