# HG changeset patch # User Yuya Nishihara # Date 1523154118 -32400 # Node ID 7c2c7c74941136bec079ec7c541e9d950ceb2fee # Parent 2f81926c7f89f3f8da1ae040b7c6a7c013b129e2 wireproto: show unknown id and flags in repr(frame) Perhaps we'll want it for debugging. diff -r 2f81926c7f89 -r 7c2c7c749411 mercurial/wireprotoframing.py --- a/mercurial/wireprotoframing.py Sun Apr 08 11:14:47 2018 +0900 +++ b/mercurial/wireprotoframing.py Sun Apr 08 11:21:58 2018 +0900 @@ -110,10 +110,13 @@ 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 @@ payload = attr.ib() def __repr__(self): - typename = '' + typename = '' % self.typeid for name, value in FRAME_TYPES.iteritems(): if value == self.typeid: typename = name