bundle2: add generic debug output regarding processed part

If we are about to hide the detailed debug output, we need some generic debug
message to replace it.
This commit is contained in:
Pierre-Yves David 2015-05-26 23:36:31 -07:00
parent f4b0d8312f
commit 977711b858
2 changed files with 27 additions and 0 deletions

View File

@ -359,23 +359,43 @@ def _processpart(op, part):
The part is guaranteed to have been fully consumed when the function exits
(even if an exception is raised)."""
status = 'unknown' # used by debug output
try:
try:
handler = parthandlermapping.get(part.type)
if handler is None:
status = 'unsupported-type'
raise error.UnsupportedPartError(parttype=part.type)
indebug(op.ui, 'found a handler for part %r' % part.type)
unknownparams = part.mandatorykeys - handler.params
if unknownparams:
unknownparams = list(unknownparams)
unknownparams.sort()
status = 'unsupported-params (%s)' % unknownparams
raise error.UnsupportedPartError(parttype=part.type,
params=unknownparams)
status = 'supported'
except error.UnsupportedPartError, exc:
if part.mandatory: # mandatory parts
raise
indebug(op.ui, 'ignoring unsupported advisory part %s' % exc)
return # skip to part processing
finally:
if op.ui.debugflag:
msg = ['bundle2-input-part: "%s"' % part.type]
if not part.mandatory:
msg.append(' (advisory)')
nbmp = len(part.mandatorykeys)
nbap = len(part.params) - nbmp
if nbmp or nbap:
msg.append(' (params:')
if nbmp:
msg.append(' %i mandatory' % nbmp)
if nbap:
msg.append(' %i advisory' % nbmp)
msg.append(')')
msg.append(' %s\n' % status)
op.ui.debug(''.join(msg))
# handler is called outside the above try block so that we don't
# risk catching KeyErrors from anything other than the

View File

@ -557,18 +557,21 @@ Process the bundle
bundle2-input: part id: "0"
bundle2-input: part parameters: 0
bundle2-input: ignoring unsupported advisory part test:empty
bundle2-input-part: "test:empty" (advisory) unsupported-type
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 17
bundle2-input: part type: "test:empty"
bundle2-input: part id: "1"
bundle2-input: part parameters: 0
bundle2-input: ignoring unsupported advisory part test:empty
bundle2-input-part: "test:empty" (advisory) unsupported-type
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 16
bundle2-input: part type: "test:song"
bundle2-input: part id: "2"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part 'test:song'
bundle2-input-part: "test:song" (advisory) supported
The choir starts singing:
bundle2-input: payload chunk size: 178
bundle2-input: payload chunk size: 0
@ -580,6 +583,7 @@ Process the bundle
bundle2-input: part id: "3"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part 'test:debugreply'
bundle2-input-part: "test:debugreply" (advisory) supported
debugreply: no reply
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 43
@ -587,6 +591,7 @@ Process the bundle
bundle2-input: part id: "4"
bundle2-input: part parameters: 3
bundle2-input: ignoring unsupported advisory part test:math
bundle2-input-part: "test:math" (advisory) (params: 2 mandatory 2 advisory) unsupported-type
bundle2-input: payload chunk size: 2
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 29
@ -595,12 +600,14 @@ Process the bundle
bundle2-input: part parameters: 1
bundle2-input: found a handler for part 'test:song'
bundle2-input: ignoring unsupported advisory part test:song - randomparam
bundle2-input-part: "test:song" (advisory) (params: 1 mandatory) unsupported-params (['randomparam'])
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 16
bundle2-input: part type: "test:ping"
bundle2-input: part id: "6"
bundle2-input: part parameters: 0
bundle2-input: found a handler for part 'test:ping'
bundle2-input-part: "test:ping" (advisory) supported
received ping request (id 6)
bundle2-input: payload chunk size: 0
bundle2-input: part header size: 0