Show More
@@ -136,6 +136,21 b' class localpeer(peer.peerrepository):' | |||
|
136 | 136 | ret = bundle2.getunbundler(self.ui, stream) |
|
137 | 137 | return ret |
|
138 | 138 | except Exception, exc: |
|
139 | # If the exception contains output salvaged from a bundle2 | |
|
140 | # reply, we need to make sure it is printed before continuing | |
|
141 | # to fail. So we build a bundle2 with such output and consume | |
|
142 | # it directly. | |
|
143 | # | |
|
144 | # This is not very elegant but allows a "simple" solution for | |
|
145 | # issue4594 | |
|
146 | output = getattr(exc, '_bundle2salvagedoutput', ()) | |
|
147 | if output: | |
|
148 | bundler = bundle2.bundle20(self._repo.ui) | |
|
149 | for out in output: | |
|
150 | bundler.addpart(out) | |
|
151 | stream = util.chunkbuffer(bundler.getchunks()) | |
|
152 | b = bundle2.getunbundler(self.ui, stream) | |
|
153 | bundle2.processbundle(self._repo, b) | |
|
139 | 154 | raise |
|
140 | 155 | except error.PushRaced, exc: |
|
141 | 156 | raise error.ResponseError(_('push failed:'), str(exc)) |
@@ -561,6 +561,10 b' Doing the actual push: hook abort' | |||
|
561 | 561 | pre-close-tip:e7ec4e813ba6 draft |
|
562 | 562 | transaction abort! |
|
563 | 563 | rollback completed |
|
564 | remote: adding changesets | |
|
565 | remote: adding manifests | |
|
566 | remote: adding file changes | |
|
567 | remote: added 1 changesets with 1 changes to 1 files | |
|
564 | 568 | abort: pretxnclose.failpush hook exited with status 1 |
|
565 | 569 | [255] |
|
566 | 570 |
General Comments 0
You need to be logged in to leave comments.
Login now