2112 |
2112 |
2113 outgoing = _computeoutgoing(repo, heads, common) |
2113 outgoing = _computeoutgoing(repo, heads, common) |
2114 if not outgoing.missing: |
2114 if not outgoing.missing: |
2115 return |
2115 return |
2116 |
2116 |
|
2117 if kwargs.get(r'narrow', False): |
|
2118 include = sorted(filter(bool, kwargs.get(r'includepats', []))) |
|
2119 exclude = sorted(filter(bool, kwargs.get(r'excludepats', []))) |
|
2120 filematcher = narrowspec.match(repo.root, include=include, |
|
2121 exclude=exclude) |
|
2122 else: |
|
2123 filematcher = None |
|
2124 |
2117 cgstream = changegroup.makestream(repo, outgoing, version, source, |
2125 cgstream = changegroup.makestream(repo, outgoing, version, source, |
2118 bundlecaps=bundlecaps) |
2126 bundlecaps=bundlecaps, |
|
2127 filematcher=filematcher) |
2119 |
2128 |
2120 part = bundler.newpart('changegroup', data=cgstream) |
2129 part = bundler.newpart('changegroup', data=cgstream) |
2121 if cgversions: |
2130 if cgversions: |
2122 part.addparam('version', version) |
2131 part.addparam('version', version) |
2123 |
2132 |
2124 part.addparam('nbchanges', '%d' % len(outgoing.missing), |
2133 part.addparam('nbchanges', '%d' % len(outgoing.missing), |
2125 mandatory=False) |
2134 mandatory=False) |
2126 |
2135 |
2127 if 'treemanifest' in repo.requirements: |
2136 if 'treemanifest' in repo.requirements: |
2128 part.addparam('treemanifest', '1') |
2137 part.addparam('treemanifest', '1') |
|
2138 |
|
2139 if kwargs.get(r'narrow', False) and (include or exclude): |
|
2140 narrowspecpart = bundler.newpart('narrow:spec') |
|
2141 if include: |
|
2142 narrowspecpart.addparam( |
|
2143 'include', '\n'.join(include), mandatory=True) |
|
2144 if exclude: |
|
2145 narrowspecpart.addparam( |
|
2146 'exclude', '\n'.join(exclude), mandatory=True) |
2129 |
2147 |
2130 @getbundle2partsgenerator('bookmarks') |
2148 @getbundle2partsgenerator('bookmarks') |
2131 def _getbundlebookmarkpart(bundler, repo, source, bundlecaps=None, |
2149 def _getbundlebookmarkpart(bundler, repo, source, bundlecaps=None, |
2132 b2caps=None, **kwargs): |
2150 b2caps=None, **kwargs): |
2133 """add a bookmark part to the requested bundle""" |
2151 """add a bookmark part to the requested bundle""" |