Show More
@@ -760,3 +760,9 b' def handlereplycaps(op, inpart):' | |||
|
760 | 760 | """Used to transmit unknown part error over the wire""" |
|
761 | 761 | manargs = dict(inpart.mandatoryparams) |
|
762 | 762 | raise UnknownPartError(manargs['parttype']) |
|
763 | ||
|
764 | @parthandler('b2x:error:pushraced') | |
|
765 | def handlereplycaps(op, inpart): | |
|
766 | """Used to transmit push race error over the wire""" | |
|
767 | manargs = dict(inpart.mandatoryparams) | |
|
768 | raise error.ResponseError(_('push failed:'), manargs['message']) |
@@ -134,7 +134,7 b' class localpeer(peer.peerrepository):' | |||
|
134 | 134 | ret = bundle2.unbundle20(self.ui, stream) |
|
135 | 135 | return ret |
|
136 | 136 | except error.PushRaced, exc: |
|
137 |
raise error.ResponseError(_('push failed:'), exc |
|
|
137 | raise error.ResponseError(_('push failed:'), str(exc)) | |
|
138 | 138 | |
|
139 | 139 | def lock(self): |
|
140 | 140 | return self._repo.lock() |
@@ -827,4 +827,11 b' def unbundle(repo, proto, heads):' | |||
|
827 | 827 | sys.stderr.write("abort: %s\n" % inst) |
|
828 | 828 | return pushres(0) |
|
829 | 829 | except error.PushRaced, exc: |
|
830 | return pusherr(str(exc)) | |
|
830 | if getattr(exc, 'duringunbundle2', False): | |
|
831 | bundler = bundle2.bundle20(repo.ui) | |
|
832 | part = bundle2.bundlepart('B2X:ERROR:PUSHRACED', | |
|
833 | [('message', str(exc))]) | |
|
834 | bundler.addpart(part) | |
|
835 | return streamres(bundler.getchunks()) | |
|
836 | else: | |
|
837 | return pusherr(str(exc)) |
@@ -927,6 +927,9 b' Setting up' | |||
|
927 | 927 | > part = bundle2.bundlepart('test:abort') |
|
928 | 928 | > if reason == 'unknown': |
|
929 | 929 | > part = bundle2.bundlepart('TEST:UNKNOWN') |
|
930 | > if reason == 'race': | |
|
931 | > # 20 Bytes of crap | |
|
932 | > part = bundle2.bundlepart('b2x:check:heads', data='01234567890123456789') | |
|
930 | 933 | > if part is not None: |
|
931 | 934 | > bundler.addpart(part) |
|
932 | 935 | > return extradata |
@@ -1012,3 +1015,31 b' Doing the actual push: unknown mandatory' | |||
|
1012 | 1015 | searching for changes |
|
1013 | 1016 | abort: missing support for "'test:unknown'" |
|
1014 | 1017 | [255] |
|
1018 | ||
|
1019 | Doing the actual push: race | |
|
1020 | ||
|
1021 | $ cat << EOF >> $HGRCPATH | |
|
1022 | > [failpush] | |
|
1023 | > reason = race | |
|
1024 | > EOF | |
|
1025 | ||
|
1026 | $ hg -R main push other -r e7ec4e813ba6 | |
|
1027 | pushing to other | |
|
1028 | searching for changes | |
|
1029 | abort: push failed: | |
|
1030 | 'repository changed while pushing - please try again' | |
|
1031 | [255] | |
|
1032 | ||
|
1033 | $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6 | |
|
1034 | pushing to ssh://user@dummy/other | |
|
1035 | searching for changes | |
|
1036 | abort: push failed: | |
|
1037 | 'repository changed while pushing - please try again' | |
|
1038 | [255] | |
|
1039 | ||
|
1040 | $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6 | |
|
1041 | pushing to http://localhost:$HGPORT2/ | |
|
1042 | searching for changes | |
|
1043 | abort: push failed: | |
|
1044 | 'repository changed while pushing - please try again' | |
|
1045 | [255] |
General Comments 0
You need to be logged in to leave comments.
Login now