90 > except ValueError, exc: |
90 > except ValueError, exc: |
91 > raise util.Abort('%s' % exc) |
91 > raise util.Abort('%s' % exc) |
92 > |
92 > |
93 > if opts['reply']: |
93 > if opts['reply']: |
94 > capsstring = 'ping-pong\nelephants=babar,celeste\ncity%3D%21=celeste%2Cville' |
94 > capsstring = 'ping-pong\nelephants=babar,celeste\ncity%3D%21=celeste%2Cville' |
95 > bundler.newpart('b2x:replycaps', data=capsstring) |
95 > bundler.newpart('replycaps', data=capsstring) |
96 > |
96 > |
97 > if opts['pushrace']: |
97 > if opts['pushrace']: |
98 > # also serve to test the assignement of data outside of init |
98 > # also serve to test the assignement of data outside of init |
99 > part = bundler.newpart('b2x:check:heads') |
99 > part = bundler.newpart('check:heads') |
100 > part.data = '01234567890123456789' |
100 > part.data = '01234567890123456789' |
101 > |
101 > |
102 > revs = opts['rev'] |
102 > revs = opts['rev'] |
103 > if 'rev' in opts: |
103 > if 'rev' in opts: |
104 > revs = scmutil.revrange(repo, opts['rev']) |
104 > revs = scmutil.revrange(repo, opts['rev']) |
107 > bundled = repo.revs('%ld::%ld', revs, revs) |
107 > bundled = repo.revs('%ld::%ld', revs, revs) |
108 > headmissing = [c.node() for c in repo.set('heads(%ld)', revs)] |
108 > headmissing = [c.node() for c in repo.set('heads(%ld)', revs)] |
109 > headcommon = [c.node() for c in repo.set('parents(%ld) - %ld', revs, revs)] |
109 > headcommon = [c.node() for c in repo.set('parents(%ld) - %ld', revs, revs)] |
110 > outgoing = discovery.outgoing(repo.changelog, headcommon, headmissing) |
110 > outgoing = discovery.outgoing(repo.changelog, headcommon, headmissing) |
111 > cg = changegroup.getlocalchangegroup(repo, 'test:bundle2', outgoing, None) |
111 > cg = changegroup.getlocalchangegroup(repo, 'test:bundle2', outgoing, None) |
112 > bundler.newpart('b2x:changegroup', data=cg.getchunks(), |
112 > bundler.newpart('changegroup', data=cg.getchunks(), |
113 > mandatory=False) |
113 > mandatory=False) |
114 > |
114 > |
115 > if opts['parts']: |
115 > if opts['parts']: |
116 > bundler.newpart('test:empty', mandatory=False) |
116 > bundler.newpart('test:empty', mandatory=False) |
117 > # add a second one to make sure we handle multiple parts |
117 > # add a second one to make sure we handle multiple parts |
134 > bundler.newpart('test:ping', mandatory=False) |
134 > bundler.newpart('test:ping', mandatory=False) |
135 > if opts['genraise']: |
135 > if opts['genraise']: |
136 > def genraise(): |
136 > def genraise(): |
137 > yield 'first line\n' |
137 > yield 'first line\n' |
138 > raise RuntimeError('Someone set up us the bomb!') |
138 > raise RuntimeError('Someone set up us the bomb!') |
139 > bundler.newpart('b2x:output', data=genraise(), mandatory=False) |
139 > bundler.newpart('output', data=genraise(), mandatory=False) |
140 > |
140 > |
141 > if path is None: |
141 > if path is None: |
142 > file = sys.stdout |
142 > file = sys.stdout |
143 > else: |
143 > else: |
144 > file = open(path, 'wb') |
144 > file = open(path, 'wb') |
265 Simplest possible parameters form |
265 Simplest possible parameters form |
266 |
266 |
267 Test generation simple option |
267 Test generation simple option |
268 |
268 |
269 $ hg bundle2 --param 'caution' |
269 $ hg bundle2 --param 'caution' |
270 HG2Y\x00\x00\x00\x07caution\x00\x00\x00\x00 (no-eol) (esc) |
270 HG20\x00\x00\x00\x07caution\x00\x00\x00\x00 (no-eol) (esc) |
271 |
271 |
272 Test unbundling |
272 Test unbundling |
273 |
273 |
274 $ hg bundle2 --param 'caution' | hg statbundle2 |
274 $ hg bundle2 --param 'caution' | hg statbundle2 |
275 options count: 1 |
275 options count: 1 |
335 --------------------------------------------------- |
335 --------------------------------------------------- |
336 |
336 |
337 bundling debug |
337 bundling debug |
338 |
338 |
339 $ hg bundle2 --debug --param 'e|! 7/=babar%#==tutu' --param simple ../out.hg2 |
339 $ hg bundle2 --debug --param 'e|! 7/=babar%#==tutu' --param simple ../out.hg2 |
340 start emission of HG2Y stream |
340 start emission of HG20 stream |
341 bundle parameter: e%7C%21%207/=babar%25%23%3D%3Dtutu simple |
341 bundle parameter: e%7C%21%207/=babar%25%23%3D%3Dtutu simple |
342 start of parts |
342 start of parts |
343 end of bundle |
343 end of bundle |
344 |
344 |
345 file content is ok |
345 file content is ok |
346 |
346 |
347 $ cat ../out.hg2 |
347 $ cat ../out.hg2 |
348 HG2Y\x00\x00\x00)e%7C%21%207/=babar%25%23%3D%3Dtutu simple\x00\x00\x00\x00 (no-eol) (esc) |
348 HG20\x00\x00\x00)e%7C%21%207/=babar%25%23%3D%3Dtutu simple\x00\x00\x00\x00 (no-eol) (esc) |
349 |
349 |
350 unbundling debug |
350 unbundling debug |
351 |
351 |
352 $ hg statbundle2 --debug < ../out.hg2 |
352 $ hg statbundle2 --debug < ../out.hg2 |
353 start processing of HG2Y stream |
353 start processing of HG20 stream |
354 reading bundle2 stream parameters |
354 reading bundle2 stream parameters |
355 ignoring unknown parameter 'e|! 7/' |
355 ignoring unknown parameter 'e|! 7/' |
356 ignoring unknown parameter 'simple' |
356 ignoring unknown parameter 'simple' |
357 options count: 2 |
357 options count: 2 |
358 - e|! 7/ |
358 - e|! 7/ |
382 |
382 |
383 Test part |
383 Test part |
384 ================= |
384 ================= |
385 |
385 |
386 $ hg bundle2 --parts ../parts.hg2 --debug |
386 $ hg bundle2 --parts ../parts.hg2 --debug |
387 start emission of HG2Y stream |
387 start emission of HG20 stream |
388 bundle parameter: |
388 bundle parameter: |
389 start of parts |
389 start of parts |
390 bundle part: "test:empty" |
390 bundle part: "test:empty" |
391 bundle part: "test:empty" |
391 bundle part: "test:empty" |
392 bundle part: "test:song" |
392 bundle part: "test:song" |
395 bundle part: "test:song" |
395 bundle part: "test:song" |
396 bundle part: "test:ping" |
396 bundle part: "test:ping" |
397 end of bundle |
397 end of bundle |
398 |
398 |
399 $ cat ../parts.hg2 |
399 $ cat ../parts.hg2 |
400 HG2Y\x00\x00\x00\x00\x00\x00\x00\x11 (esc) |
400 HG20\x00\x00\x00\x00\x00\x00\x00\x11 (esc) |
401 test:empty\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11 (esc) |
401 test:empty\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11 (esc) |
402 test:empty\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10 test:song\x00\x00\x00\x02\x00\x00\x00\x00\x00\xb2Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko (esc) |
402 test:empty\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10 test:song\x00\x00\x00\x02\x00\x00\x00\x00\x00\xb2Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko (esc) |
403 Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko |
403 Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko |
404 Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko.\x00\x00\x00\x00\x00\x00\x00\x16\x0ftest:debugreply\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00+ test:math\x00\x00\x00\x04\x02\x01\x02\x04\x01\x04\x07\x03pi3.14e2.72cookingraw\x00\x00\x00\x0242\x00\x00\x00\x00\x00\x00\x00\x1d test:song\x00\x00\x00\x05\x01\x00\x0b\x00randomparam\x00\x00\x00\x00\x00\x00\x00\x10 test:ping\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
404 Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko.\x00\x00\x00\x00\x00\x00\x00\x16\x0ftest:debugreply\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00+ test:math\x00\x00\x00\x04\x02\x01\x02\x04\x01\x04\x07\x03pi3.14e2.72cookingraw\x00\x00\x00\x0242\x00\x00\x00\x00\x00\x00\x00\x1d test:song\x00\x00\x00\x05\x01\x00\x0b\x00randomparam\x00\x00\x00\x00\x00\x00\x00\x10 test:ping\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
405 |
405 |
435 advisory: 0 |
435 advisory: 0 |
436 payload: 0 bytes |
436 payload: 0 bytes |
437 parts count: 7 |
437 parts count: 7 |
438 |
438 |
439 $ hg statbundle2 --debug < ../parts.hg2 |
439 $ hg statbundle2 --debug < ../parts.hg2 |
440 start processing of HG2Y stream |
440 start processing of HG20 stream |
441 reading bundle2 stream parameters |
441 reading bundle2 stream parameters |
442 options count: 0 |
442 options count: 0 |
443 start extraction of bundle2 parts |
443 start extraction of bundle2 parts |
444 part header size: 17 |
444 part header size: 17 |
445 part type: "test:empty" |
445 part type: "test:empty" |
514 ======================================= |
514 ======================================= |
515 |
515 |
516 Process the bundle |
516 Process the bundle |
517 |
517 |
518 $ hg unbundle2 --debug < ../parts.hg2 |
518 $ hg unbundle2 --debug < ../parts.hg2 |
519 start processing of HG2Y stream |
519 start processing of HG20 stream |
520 reading bundle2 stream parameters |
520 reading bundle2 stream parameters |
521 start extraction of bundle2 parts |
521 start extraction of bundle2 parts |
522 part header size: 17 |
522 part header size: 17 |
523 part type: "test:empty" |
523 part type: "test:empty" |
524 part id: "0" |
524 part id: "0" |
608 3 total verses sung |
608 3 total verses sung |
609 |
609 |
610 The reply is a bundle |
610 The reply is a bundle |
611 |
611 |
612 $ cat ../reply.hg2 |
612 $ cat ../reply.hg2 |
613 HG2Y\x00\x00\x00\x00\x00\x00\x00\x1f (esc) |
613 HG20\x00\x00\x00\x00\x00\x00\x00\x1b\x06output\x00\x00\x00\x00\x00\x01\x0b\x01in-reply-to3\x00\x00\x00\xd9The choir starts singing: (esc) |
614 b2x:output\x00\x00\x00\x00\x00\x01\x0b\x01in-reply-to3\x00\x00\x00\xd9The choir starts singing: (esc) |
|
615 Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko |
614 Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko |
616 Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko |
615 Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko |
617 Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko. |
616 Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko. |
618 \x00\x00\x00\x00\x00\x00\x00\x1f (esc) |
617 \x00\x00\x00\x00\x00\x00\x00\x1b\x06output\x00\x00\x00\x01\x00\x01\x0b\x01in-reply-to4\x00\x00\x00\xc9debugreply: capabilities: (esc) |
619 b2x:output\x00\x00\x00\x01\x00\x01\x0b\x01in-reply-to4\x00\x00\x00\xc9debugreply: capabilities: (esc) |
|
620 debugreply: 'city=!' |
618 debugreply: 'city=!' |
621 debugreply: 'celeste,ville' |
619 debugreply: 'celeste,ville' |
622 debugreply: 'elephants' |
620 debugreply: 'elephants' |
623 debugreply: 'babar' |
621 debugreply: 'babar' |
624 debugreply: 'celeste' |
622 debugreply: 'celeste' |
625 debugreply: 'ping-pong' |
623 debugreply: 'ping-pong' |
626 \x00\x00\x00\x00\x00\x00\x00\x1e test:pong\x00\x00\x00\x02\x01\x00\x0b\x01in-reply-to7\x00\x00\x00\x00\x00\x00\x00\x1f (esc) |
624 \x00\x00\x00\x00\x00\x00\x00\x1e test:pong\x00\x00\x00\x02\x01\x00\x0b\x01in-reply-to7\x00\x00\x00\x00\x00\x00\x00\x1b\x06output\x00\x00\x00\x03\x00\x01\x0b\x01in-reply-to7\x00\x00\x00=received ping request (id 7) (esc) |
627 b2x:output\x00\x00\x00\x03\x00\x01\x0b\x01in-reply-to7\x00\x00\x00=received ping request (id 7) (esc) |
|
628 replying to ping request (id 7) |
625 replying to ping request (id 7) |
629 \x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
626 \x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
630 |
627 |
631 The reply is valid |
628 The reply is valid |
632 |
629 |
633 $ hg statbundle2 < ../reply.hg2 |
630 $ hg statbundle2 < ../reply.hg2 |
634 options count: 0 |
631 options count: 0 |
635 :b2x:output: |
632 :output: |
636 mandatory: 0 |
633 mandatory: 0 |
637 advisory: 1 |
634 advisory: 1 |
638 payload: 217 bytes |
635 payload: 217 bytes |
639 :b2x:output: |
636 :output: |
640 mandatory: 0 |
637 mandatory: 0 |
641 advisory: 1 |
638 advisory: 1 |
642 payload: 201 bytes |
639 payload: 201 bytes |
643 :test:pong: |
640 :test:pong: |
644 mandatory: 1 |
641 mandatory: 1 |
645 advisory: 0 |
642 advisory: 0 |
646 payload: 0 bytes |
643 payload: 0 bytes |
647 :b2x:output: |
644 :output: |
648 mandatory: 0 |
645 mandatory: 0 |
649 advisory: 1 |
646 advisory: 1 |
650 payload: 61 bytes |
647 payload: 61 bytes |
651 parts count: 4 |
648 parts count: 4 |
652 |
649 |
712 list of changesets: |
709 list of changesets: |
713 32af7686d403cf45b5d95f2d70cebea587ac806a |
710 32af7686d403cf45b5d95f2d70cebea587ac806a |
714 9520eea781bcca16c1e15acc0ba14335a0e8e5ba |
711 9520eea781bcca16c1e15acc0ba14335a0e8e5ba |
715 eea13746799a9e0bfd88f29d3c2e9dc9389f524f |
712 eea13746799a9e0bfd88f29d3c2e9dc9389f524f |
716 02de42196ebee42ef284b6780a87cdc96e8eaab6 |
713 02de42196ebee42ef284b6780a87cdc96e8eaab6 |
717 start emission of HG2Y stream |
714 start emission of HG20 stream |
718 bundle parameter: |
715 bundle parameter: |
719 start of parts |
716 start of parts |
720 bundle part: "b2x:changegroup" |
717 bundle part: "changegroup" |
721 bundling: 1/4 changesets (25.00%) |
718 bundling: 1/4 changesets (25.00%) |
722 bundling: 2/4 changesets (50.00%) |
719 bundling: 2/4 changesets (50.00%) |
723 bundling: 3/4 changesets (75.00%) |
720 bundling: 3/4 changesets (75.00%) |
724 bundling: 4/4 changesets (100.00%) |
721 bundling: 4/4 changesets (100.00%) |
725 bundling: 1/4 manifests (25.00%) |
722 bundling: 1/4 manifests (25.00%) |
730 bundling: E 2/3 files (66.67%) |
727 bundling: E 2/3 files (66.67%) |
731 bundling: H 3/3 files (100.00%) |
728 bundling: H 3/3 files (100.00%) |
732 end of bundle |
729 end of bundle |
733 |
730 |
734 $ cat ../rev.hg2 |
731 $ cat ../rev.hg2 |
735 HG2Y\x00\x00\x00\x00\x00\x00\x00\x16\x0fb2x:changegroup\x00\x00\x00\x00\x00\x00\x00\x00\x06\x13\x00\x00\x00\xa42\xafv\x86\xd4\x03\xcfE\xb5\xd9_-p\xce\xbe\xa5\x87\xac\x80j_\xdd\xd9\x89W\xc8\xa5JMCm\xfe\x1d\xa9\xd8\x7f!\xa1\xb9{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\xafv\x86\xd4\x03\xcfE\xb5\xd9_-p\xce\xbe\xa5\x87\xac\x80j\x00\x00\x00\x00\x00\x00\x00)\x00\x00\x00)6e1f4c47ecb533ffd0c8e52cdc88afb6cd39e20c (esc) |
732 HG20\x00\x00\x00\x00\x00\x00\x00\x12\x0bchangegroup\x00\x00\x00\x00\x00\x00\x00\x00\x06\x13\x00\x00\x00\xa42\xafv\x86\xd4\x03\xcfE\xb5\xd9_-p\xce\xbe\xa5\x87\xac\x80j_\xdd\xd9\x89W\xc8\xa5JMCm\xfe\x1d\xa9\xd8\x7f!\xa1\xb9{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\xafv\x86\xd4\x03\xcfE\xb5\xd9_-p\xce\xbe\xa5\x87\xac\x80j\x00\x00\x00\x00\x00\x00\x00)\x00\x00\x00)6e1f4c47ecb533ffd0c8e52cdc88afb6cd39e20c (esc) |
736 \x00\x00\x00f\x00\x00\x00h\x00\x00\x00\x02D (esc) |
733 \x00\x00\x00f\x00\x00\x00h\x00\x00\x00\x02D (esc) |
737 \x00\x00\x00i\x00\x00\x00j\x00\x00\x00\x01D\x00\x00\x00\xa4\x95 \xee\xa7\x81\xbc\xca\x16\xc1\xe1Z\xcc\x0b\xa1C5\xa0\xe8\xe5\xba\xcd\x01\x0b\x8c\xd9\x98\xf3\x98\x1aZ\x81\x15\xf9O\x8d\xa4\xabP`\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95 \xee\xa7\x81\xbc\xca\x16\xc1\xe1Z\xcc\x0b\xa1C5\xa0\xe8\xe5\xba\x00\x00\x00\x00\x00\x00\x00)\x00\x00\x00)4dece9c826f69490507b98c6383a3009b295837d (esc) |
734 \x00\x00\x00i\x00\x00\x00j\x00\x00\x00\x01D\x00\x00\x00\xa4\x95 \xee\xa7\x81\xbc\xca\x16\xc1\xe1Z\xcc\x0b\xa1C5\xa0\xe8\xe5\xba\xcd\x01\x0b\x8c\xd9\x98\xf3\x98\x1aZ\x81\x15\xf9O\x8d\xa4\xabP`\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95 \xee\xa7\x81\xbc\xca\x16\xc1\xe1Z\xcc\x0b\xa1C5\xa0\xe8\xe5\xba\x00\x00\x00\x00\x00\x00\x00)\x00\x00\x00)4dece9c826f69490507b98c6383a3009b295837d (esc) |
738 \x00\x00\x00f\x00\x00\x00h\x00\x00\x00\x02E (esc) |
735 \x00\x00\x00f\x00\x00\x00h\x00\x00\x00\x02E (esc) |
739 \x00\x00\x00i\x00\x00\x00j\x00\x00\x00\x01E\x00\x00\x00\xa2\xee\xa17Fy\x9a\x9e\x0b\xfd\x88\xf2\x9d<.\x9d\xc98\x9fRO$\xb68|\x8c\x8c\xae7\x17\x88\x80\xf3\xfa\x95\xde\xd3\xcb\x1c\xf7\x85\x95 \xee\xa7\x81\xbc\xca\x16\xc1\xe1Z\xcc\x0b\xa1C5\xa0\xe8\xe5\xba\xee\xa17Fy\x9a\x9e\x0b\xfd\x88\xf2\x9d<.\x9d\xc98\x9fRO\x00\x00\x00\x00\x00\x00\x00)\x00\x00\x00)365b93d57fdf4814e2b5911d6bacff2b12014441 (esc) |
736 \x00\x00\x00i\x00\x00\x00j\x00\x00\x00\x01E\x00\x00\x00\xa2\xee\xa17Fy\x9a\x9e\x0b\xfd\x88\xf2\x9d<.\x9d\xc98\x9fRO$\xb68|\x8c\x8c\xae7\x17\x88\x80\xf3\xfa\x95\xde\xd3\xcb\x1c\xf7\x85\x95 \xee\xa7\x81\xbc\xca\x16\xc1\xe1Z\xcc\x0b\xa1C5\xa0\xe8\xe5\xba\xee\xa17Fy\x9a\x9e\x0b\xfd\x88\xf2\x9d<.\x9d\xc98\x9fRO\x00\x00\x00\x00\x00\x00\x00)\x00\x00\x00)365b93d57fdf4814e2b5911d6bacff2b12014441 (esc) |
740 \x00\x00\x00f\x00\x00\x00h\x00\x00\x00\x00\x00\x00\x00i\x00\x00\x00j\x00\x00\x00\x01G\x00\x00\x00\xa4\x02\xdeB\x19n\xbe\xe4.\xf2\x84\xb6x (esc) |
737 \x00\x00\x00f\x00\x00\x00h\x00\x00\x00\x00\x00\x00\x00i\x00\x00\x00j\x00\x00\x00\x01G\x00\x00\x00\xa4\x02\xdeB\x19n\xbe\xe4.\xf2\x84\xb6x (esc) |
755 \x87\xcd\xc9n\x8e\xaa\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02H (esc) |
752 \x87\xcd\xc9n\x8e\xaa\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02H (esc) |
756 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
753 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
757 |
754 |
758 $ hg debugbundle ../rev.hg2 |
755 $ hg debugbundle ../rev.hg2 |
759 Stream params: {} |
756 Stream params: {} |
760 b2x:changegroup -- '{}' |
757 changegroup -- '{}' |
761 32af7686d403cf45b5d95f2d70cebea587ac806a |
758 32af7686d403cf45b5d95f2d70cebea587ac806a |
762 9520eea781bcca16c1e15acc0ba14335a0e8e5ba |
759 9520eea781bcca16c1e15acc0ba14335a0e8e5ba |
763 eea13746799a9e0bfd88f29d3c2e9dc9389f524f |
760 eea13746799a9e0bfd88f29d3c2e9dc9389f524f |
764 02de42196ebee42ef284b6780a87cdc96e8eaab6 |
761 02de42196ebee42ef284b6780a87cdc96e8eaab6 |
765 $ hg unbundle ../rev.hg2 |
762 $ hg unbundle ../rev.hg2 |
774 $ hg unbundle2 ../rev-reply.hg2 < ../rev-rr.hg2 |
771 $ hg unbundle2 ../rev-reply.hg2 < ../rev-rr.hg2 |
775 0 unread bytes |
772 0 unread bytes |
776 addchangegroup return: 1 |
773 addchangegroup return: 1 |
777 |
774 |
778 $ cat ../rev-reply.hg2 |
775 $ cat ../rev-reply.hg2 |
779 HG2Y\x00\x00\x00\x00\x00\x00\x003\x15b2x:reply:changegroup\x00\x00\x00\x00\x00\x02\x0b\x01\x06\x01in-reply-to1return1\x00\x00\x00\x00\x00\x00\x00\x1f (esc) |
776 HG20\x00\x00\x00\x00\x00\x00\x00/\x11reply:changegroup\x00\x00\x00\x00\x00\x02\x0b\x01\x06\x01in-reply-to1return1\x00\x00\x00\x00\x00\x00\x00\x1b\x06output\x00\x00\x00\x01\x00\x01\x0b\x01in-reply-to1\x00\x00\x00dadding changesets (esc) |
780 b2x:output\x00\x00\x00\x01\x00\x01\x0b\x01in-reply-to1\x00\x00\x00dadding changesets (esc) |
|
781 adding manifests |
777 adding manifests |
782 adding file changes |
778 adding file changes |
783 added 0 changesets with 0 changes to 3 files |
779 added 0 changesets with 0 changes to 3 files |
784 \x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
780 \x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
785 |
781 |
791 [255] |
787 [255] |
792 |
788 |
793 Should still be a valid bundle |
789 Should still be a valid bundle |
794 |
790 |
795 $ cat ../genfailed.hg2 |
791 $ cat ../genfailed.hg2 |
796 HG2Y\x00\x00\x00\x00\x00\x00\x00\x11 (esc) |
792 HG20\x00\x00\x00\x00\x00\x00\x00\r (no-eol) (esc) |
797 b2x:output\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00L\x0fb2x:error:abort\x00\x00\x00\x00\x01\x00\x07-messageunexpected error: Someone set up us the bomb!\x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
793 \x06output\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00H\x0berror:abort\x00\x00\x00\x00\x01\x00\x07-messageunexpected error: Someone set up us the bomb!\x00\x00\x00\x00\x00\x00\x00\x00 (no-eol) (esc) |
798 |
794 |
799 And its handling on the other size raise a clean exception |
795 And its handling on the other size raise a clean exception |
800 |
796 |
801 $ cat ../genfailed.hg2 | hg unbundle2 |
797 $ cat ../genfailed.hg2 | hg unbundle2 |
802 0 unread bytes |
798 0 unread bytes |