comparison mercurial/bundle2.py @ 25333:5bfffdbdc907

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.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 26 May 2015 23:36:31 -0700
parents 0cdd1c811705
children 76cba1ecf55f
comparison
equal deleted inserted replaced
25332:0cdd1c811705 25333:5bfffdbdc907
357 def _processpart(op, part): 357 def _processpart(op, part):
358 """process a single part from a bundle 358 """process a single part from a bundle
359 359
360 The part is guaranteed to have been fully consumed when the function exits 360 The part is guaranteed to have been fully consumed when the function exits
361 (even if an exception is raised).""" 361 (even if an exception is raised)."""
362 status = 'unknown' # used by debug output
362 try: 363 try:
363 try: 364 try:
364 handler = parthandlermapping.get(part.type) 365 handler = parthandlermapping.get(part.type)
365 if handler is None: 366 if handler is None:
367 status = 'unsupported-type'
366 raise error.UnsupportedPartError(parttype=part.type) 368 raise error.UnsupportedPartError(parttype=part.type)
367 indebug(op.ui, 'found a handler for part %r' % part.type) 369 indebug(op.ui, 'found a handler for part %r' % part.type)
368 unknownparams = part.mandatorykeys - handler.params 370 unknownparams = part.mandatorykeys - handler.params
369 if unknownparams: 371 if unknownparams:
370 unknownparams = list(unknownparams) 372 unknownparams = list(unknownparams)
371 unknownparams.sort() 373 unknownparams.sort()
374 status = 'unsupported-params (%s)' % unknownparams
372 raise error.UnsupportedPartError(parttype=part.type, 375 raise error.UnsupportedPartError(parttype=part.type,
373 params=unknownparams) 376 params=unknownparams)
377 status = 'supported'
374 except error.UnsupportedPartError, exc: 378 except error.UnsupportedPartError, exc:
375 if part.mandatory: # mandatory parts 379 if part.mandatory: # mandatory parts
376 raise 380 raise
377 indebug(op.ui, 'ignoring unsupported advisory part %s' % exc) 381 indebug(op.ui, 'ignoring unsupported advisory part %s' % exc)
378 return # skip to part processing 382 return # skip to part processing
383 finally:
384 if op.ui.debugflag:
385 msg = ['bundle2-input-part: "%s"' % part.type]
386 if not part.mandatory:
387 msg.append(' (advisory)')
388 nbmp = len(part.mandatorykeys)
389 nbap = len(part.params) - nbmp
390 if nbmp or nbap:
391 msg.append(' (params:')
392 if nbmp:
393 msg.append(' %i mandatory' % nbmp)
394 if nbap:
395 msg.append(' %i advisory' % nbmp)
396 msg.append(')')
397 msg.append(' %s\n' % status)
398 op.ui.debug(''.join(msg))
379 399
380 # handler is called outside the above try block so that we don't 400 # handler is called outside the above try block so that we don't
381 # risk catching KeyErrors from anything other than the 401 # risk catching KeyErrors from anything other than the
382 # parthandlermapping lookup (any KeyError raised by handler() 402 # parthandlermapping lookup (any KeyError raised by handler()
383 # itself represents a defect of a different variety). 403 # itself represents a defect of a different variety).