Show More
@@ -8,7 +8,7 b'' | |||
|
8 | 8 | import urllib, tempfile, os, sys |
|
9 | 9 | from i18n import _ |
|
10 | 10 | from node import bin, hex |
|
11 | import changegroup as changegroupmod | |
|
11 | import changegroup as changegroupmod, bundle2 | |
|
12 | 12 | import peer, error, encoding, util, store, exchange |
|
13 | 13 | |
|
14 | 14 | |
@@ -335,7 +335,10 b' class wirepeer(peer.peerrepository):' | |||
|
335 | 335 | if bundlecaps is not None: |
|
336 | 336 | opts['bundlecaps'] = ','.join(bundlecaps) |
|
337 | 337 | f = self._callcompressable("getbundle", **opts) |
|
338 | return changegroupmod.unbundle10(f, 'UN') | |
|
338 | if bundlecaps is not None and 'HG20' in bundlecaps: | |
|
339 | return bundle2.unbundle20(self.ui, f) | |
|
340 | else: | |
|
341 | return changegroupmod.unbundle10(f, 'UN') | |
|
339 | 342 | |
|
340 | 343 | def unbundle(self, cg, heads, source): |
|
341 | 344 | '''Send cg (a readable file-like object representing the |
@@ -565,6 +568,8 b' def _capabilities(repo, proto):' | |||
|
565 | 568 | # otherwise, add 'streamreqs' detailing our local revlog format |
|
566 | 569 | else: |
|
567 | 570 | caps.append('streamreqs=%s' % ','.join(requiredformats)) |
|
571 | if repo.ui.configbool('server', 'bundle2', False): | |
|
572 | caps.append('bundle2') | |
|
568 | 573 | caps.append('unbundle=%s' % ','.join(changegroupmod.bundlepriority)) |
|
569 | 574 | caps.append('httpheader=1024') |
|
570 | 575 | return caps |
@@ -602,7 +607,7 b' def getbundle(repo, proto, others):' | |||
|
602 | 607 | opts[k] = decodelist(v) |
|
603 | 608 | elif k == 'bundlecaps': |
|
604 | 609 | opts[k] = set(v.split(',')) |
|
605 |
cg = change |
|
|
610 | cg = exchange.getbundle(repo, 'serve', **opts) | |
|
606 | 611 | return streamres(proto.groupchunks(cg)) |
|
607 | 612 | |
|
608 | 613 | @wireprotocommand('heads') |
@@ -156,6 +156,8 b' Create an extension to test bundle2 API' | |||
|
156 | 156 | > bundle2=$TESTTMP/bundle2.py |
|
157 | 157 | > [server] |
|
158 | 158 | > bundle2=True |
|
159 | > [ui] | |
|
160 | > ssh=python "$TESTDIR/dummyssh" | |
|
159 | 161 | > EOF |
|
160 | 162 | |
|
161 | 163 | The extension requires a repo (currently unused) |
@@ -682,3 +684,31 b' push' | |||
|
682 | 684 | adding manifests |
|
683 | 685 | adding file changes |
|
684 | 686 | added 1 changesets with 0 changes to 0 files (-1 heads) |
|
687 | ||
|
688 | pull over ssh | |
|
689 | ||
|
690 | $ hg -R other pull ssh://user@dummy/main -r 02de42196ebe --traceback | |
|
691 | pulling from ssh://user@dummy/main | |
|
692 | searching for changes | |
|
693 | adding changesets | |
|
694 | adding manifests | |
|
695 | adding file changes | |
|
696 | added 1 changesets with 1 changes to 1 files (+1 heads) | |
|
697 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
|
698 | ||
|
699 | pull over http | |
|
700 | ||
|
701 | $ hg -R main serve -p $HGPORT -d --pid-file=main.pid -E main-error.log | |
|
702 | $ cat main.pid >> $DAEMON_PIDS | |
|
703 | ||
|
704 | $ hg -R other pull http://localhost:$HGPORT/ -r 42ccdea3bb16 | |
|
705 | pulling from http://localhost:$HGPORT/ | |
|
706 | searching for changes | |
|
707 | adding changesets | |
|
708 | adding manifests | |
|
709 | adding file changes | |
|
710 | added 1 changesets with 1 changes to 1 files (+1 heads) | |
|
711 | (run 'hg heads .' to see heads, 'hg merge' to merge) | |
|
712 | $ cat main-error.log | |
|
713 | ||
|
714 |
General Comments 0
You need to be logged in to leave comments.
Login now