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]