Mercurial > hg-stable
comparison tests/test-bundle2.t @ 21183:4345274adc4b stable
bundle2: gracefully handle UnknownPartError during unbundle
Same as for Abort error, we catch the error, encode it into a bundle2 reply
(expected by the client) and stream this reply. The client processing of the
error will raise the exception again.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 21 Apr 2014 16:02:03 -0700 |
parents | 9a813e703172 |
children | 28d76afa1568 |
comparison
equal
deleted
inserted
replaced
21182:08c84fd99aac | 21183:4345274adc4b |
---|---|
906 > extradata = orig(pushop, bundler) | 906 > extradata = orig(pushop, bundler) |
907 > reason = pushop.ui.config('failpush', 'reason', None) | 907 > reason = pushop.ui.config('failpush', 'reason', None) |
908 > part = None | 908 > part = None |
909 > if reason == 'abort': | 909 > if reason == 'abort': |
910 > part = bundle2.bundlepart('test:abort') | 910 > part = bundle2.bundlepart('test:abort') |
911 > if reason == 'unknown': | |
912 > part = bundle2.bundlepart('TEST:UNKNOWN') | |
911 > if part is not None: | 913 > if part is not None: |
912 > bundler.addpart(part) | 914 > bundler.addpart(part) |
913 > return extradata | 915 > return extradata |
914 > | 916 > |
915 > @bundle2.parthandler("test:abort") | 917 > @bundle2.parthandler("test:abort") |
967 abort: Abandon ship! | 969 abort: Abandon ship! |
968 (don't panic) | 970 (don't panic) |
969 [255] | 971 [255] |
970 | 972 |
971 | 973 |
974 Doing the actual push: unknown mandatory parts | |
975 | |
976 $ cat << EOF >> $HGRCPATH | |
977 > [failpush] | |
978 > reason = unknown | |
979 > EOF | |
980 | |
981 $ hg -R main push other -r e7ec4e813ba6 | |
982 pushing to other | |
983 searching for changes | |
984 abort: missing support for 'test:unknown' | |
985 [255] | |
986 | |
987 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6 | |
988 pushing to ssh://user@dummy/other | |
989 searching for changes | |
990 abort: missing support for "'test:unknown'" | |
991 [255] | |
992 | |
993 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6 | |
994 pushing to http://localhost:$HGPORT2/ | |
995 searching for changes | |
996 abort: missing support for "'test:unknown'" | |
997 [255] |