Mercurial > hg
comparison mercurial/bundle2.py @ 24794:21f2e8f48ae1
bundle2: add a 'salvageoutput' method on bundle20
This method returns a copy of all 'output' parts added to the bundler.
This is the second step in our quest for preserving the server output on error
(issue4594). We want to be able to copy the output parts from the aborted reply
into the exception bundle.
The function will be used in a later patch.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 16 Apr 2015 03:16:04 -0400 |
parents | 2ec894582ea2 |
children | f9aa4cb8f2dd |
comparison
equal
deleted
inserted
replaced
24793:2ec894582ea2 | 24794:21f2e8f48ae1 |
---|---|
477 if value is not None: | 477 if value is not None: |
478 value = urllib.quote(value) | 478 value = urllib.quote(value) |
479 par = '%s=%s' % (par, value) | 479 par = '%s=%s' % (par, value) |
480 blocks.append(par) | 480 blocks.append(par) |
481 return ' '.join(blocks) | 481 return ' '.join(blocks) |
482 | |
483 def salvageoutput(self): | |
484 """return a list with a copy of all output parts in the bundle | |
485 | |
486 This is meant to be used during error handling to make sure we preserve | |
487 server output""" | |
488 salvaged = [] | |
489 for part in self._parts: | |
490 if part.type.startswith('output'): | |
491 salvaged.append(part.copy()) | |
492 return salvaged | |
493 | |
482 | 494 |
483 class unpackermixin(object): | 495 class unpackermixin(object): |
484 """A mixin to extract bytes and struct data from a stream""" | 496 """A mixin to extract bytes and struct data from a stream""" |
485 | 497 |
486 def __init__(self, fp): | 498 def __init__(self, fp): |