# HG changeset patch # User Yuya Nishihara # Date 2018-04-08 02:21:58 # Node ID 7c2c7c74941136bec079ec7c541e9d950ceb2fee # Parent 2f81926c7f89f3f8da1ae040b7c6a7c013b129e2 wireproto: show unknown id and flags in repr(frame) Perhaps we'll want it for debugging. diff --git a/mercurial/wireprotoframing.py b/mercurial/wireprotoframing.py --- a/mercurial/wireprotoframing.py +++ b/mercurial/wireprotoframing.py @@ -110,10 +110,13 @@ ARGUMENT_RECORD_HEADER = struct.Struct(r def humanflags(mapping, value): """Convert a numeric flags value to a human value, using a mapping table.""" + namemap = {v: k for k, v in mapping.iteritems()} flags = [] - for val, name in sorted({v: k for k, v in mapping.iteritems()}.iteritems()): + val = 1 + while value >= val: if value & val: - flags.append(name) + flags.append(namemap.get(val, '' % val)) + val <<= 1 return b'|'.join(flags) @@ -140,7 +143,7 @@ class frame(object): payload = attr.ib() def __repr__(self): - typename = '' + typename = '' % self.typeid for name, value in FRAME_TYPES.iteritems(): if value == self.typeid: typename = name