Show More
@@ -359,23 +359,43 b' def _processpart(op, part):' | |||||
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 |
@@ -557,18 +557,21 b' Process the bundle' | |||||
557 | bundle2-input: part id: "0" |
|
557 | bundle2-input: part id: "0" | |
558 | bundle2-input: part parameters: 0 |
|
558 | bundle2-input: part parameters: 0 | |
559 | bundle2-input: ignoring unsupported advisory part test:empty |
|
559 | bundle2-input: ignoring unsupported advisory part test:empty | |
|
560 | bundle2-input-part: "test:empty" (advisory) unsupported-type | |||
560 | bundle2-input: payload chunk size: 0 |
|
561 | bundle2-input: payload chunk size: 0 | |
561 | bundle2-input: part header size: 17 |
|
562 | bundle2-input: part header size: 17 | |
562 | bundle2-input: part type: "test:empty" |
|
563 | bundle2-input: part type: "test:empty" | |
563 | bundle2-input: part id: "1" |
|
564 | bundle2-input: part id: "1" | |
564 | bundle2-input: part parameters: 0 |
|
565 | bundle2-input: part parameters: 0 | |
565 | bundle2-input: ignoring unsupported advisory part test:empty |
|
566 | bundle2-input: ignoring unsupported advisory part test:empty | |
|
567 | bundle2-input-part: "test:empty" (advisory) unsupported-type | |||
566 | bundle2-input: payload chunk size: 0 |
|
568 | bundle2-input: payload chunk size: 0 | |
567 | bundle2-input: part header size: 16 |
|
569 | bundle2-input: part header size: 16 | |
568 | bundle2-input: part type: "test:song" |
|
570 | bundle2-input: part type: "test:song" | |
569 | bundle2-input: part id: "2" |
|
571 | bundle2-input: part id: "2" | |
570 | bundle2-input: part parameters: 0 |
|
572 | bundle2-input: part parameters: 0 | |
571 | bundle2-input: found a handler for part 'test:song' |
|
573 | bundle2-input: found a handler for part 'test:song' | |
|
574 | bundle2-input-part: "test:song" (advisory) supported | |||
572 | The choir starts singing: |
|
575 | The choir starts singing: | |
573 | bundle2-input: payload chunk size: 178 |
|
576 | bundle2-input: payload chunk size: 178 | |
574 | bundle2-input: payload chunk size: 0 |
|
577 | bundle2-input: payload chunk size: 0 | |
@@ -580,6 +583,7 b' Process the bundle' | |||||
580 | bundle2-input: part id: "3" |
|
583 | bundle2-input: part id: "3" | |
581 | bundle2-input: part parameters: 0 |
|
584 | bundle2-input: part parameters: 0 | |
582 | bundle2-input: found a handler for part 'test:debugreply' |
|
585 | bundle2-input: found a handler for part 'test:debugreply' | |
|
586 | bundle2-input-part: "test:debugreply" (advisory) supported | |||
583 | debugreply: no reply |
|
587 | debugreply: no reply | |
584 | bundle2-input: payload chunk size: 0 |
|
588 | bundle2-input: payload chunk size: 0 | |
585 | bundle2-input: part header size: 43 |
|
589 | bundle2-input: part header size: 43 | |
@@ -587,6 +591,7 b' Process the bundle' | |||||
587 | bundle2-input: part id: "4" |
|
591 | bundle2-input: part id: "4" | |
588 | bundle2-input: part parameters: 3 |
|
592 | bundle2-input: part parameters: 3 | |
589 | bundle2-input: ignoring unsupported advisory part test:math |
|
593 | bundle2-input: ignoring unsupported advisory part test:math | |
|
594 | bundle2-input-part: "test:math" (advisory) (params: 2 mandatory 2 advisory) unsupported-type | |||
590 | bundle2-input: payload chunk size: 2 |
|
595 | bundle2-input: payload chunk size: 2 | |
591 | bundle2-input: payload chunk size: 0 |
|
596 | bundle2-input: payload chunk size: 0 | |
592 | bundle2-input: part header size: 29 |
|
597 | bundle2-input: part header size: 29 | |
@@ -595,12 +600,14 b' Process the bundle' | |||||
595 | bundle2-input: part parameters: 1 |
|
600 | bundle2-input: part parameters: 1 | |
596 | bundle2-input: found a handler for part 'test:song' |
|
601 | bundle2-input: found a handler for part 'test:song' | |
597 | bundle2-input: ignoring unsupported advisory part test:song - randomparam |
|
602 | bundle2-input: ignoring unsupported advisory part test:song - randomparam | |
|
603 | bundle2-input-part: "test:song" (advisory) (params: 1 mandatory) unsupported-params (['randomparam']) | |||
598 | bundle2-input: payload chunk size: 0 |
|
604 | bundle2-input: payload chunk size: 0 | |
599 | bundle2-input: part header size: 16 |
|
605 | bundle2-input: part header size: 16 | |
600 | bundle2-input: part type: "test:ping" |
|
606 | bundle2-input: part type: "test:ping" | |
601 | bundle2-input: part id: "6" |
|
607 | bundle2-input: part id: "6" | |
602 | bundle2-input: part parameters: 0 |
|
608 | bundle2-input: part parameters: 0 | |
603 | bundle2-input: found a handler for part 'test:ping' |
|
609 | bundle2-input: found a handler for part 'test:ping' | |
|
610 | bundle2-input-part: "test:ping" (advisory) supported | |||
604 | received ping request (id 6) |
|
611 | received ping request (id 6) | |
605 | bundle2-input: payload chunk size: 0 |
|
612 | bundle2-input: payload chunk size: 0 | |
606 | bundle2-input: part header size: 0 |
|
613 | bundle2-input: part header size: 0 |
General Comments 0
You need to be logged in to leave comments.
Login now