Mercurial > hg
diff mercurial/exchange.py @ 21141:d8dd19e09ed4
bundle2: advertise bundle2 caps in server capabilities
We can now retrieve them from the server during push. The capabilities are
encoded the same way as in `replycaps` part (with an extra layer of urlquoting
to escape separators).
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 17 Apr 2014 01:49:20 -0400 |
parents | 1ff06386217f |
children | 15039ce3e4a3 |
line wrap: on
line diff
--- a/mercurial/exchange.py Thu Apr 17 01:50:28 2014 -0400 +++ b/mercurial/exchange.py Thu Apr 17 01:49:20 2014 -0400 @@ -7,7 +7,7 @@ from i18n import _ from node import hex, nullid -import errno +import errno, urllib import util, scmutil, changegroup, base85 import discovery, phases, obsolete, bookmarks, bundle2 @@ -207,7 +207,9 @@ The only currently supported type of data is changegroup but this will evolve in the future.""" # Send known head to the server for race detection. - bundler = bundle2.bundle20(pushop.ui) + capsblob = urllib.unquote(pushop.remote.capable('bundle2')) + caps = bundle2.decodecaps(capsblob) + bundler = bundle2.bundle20(pushop.ui, caps) bundler.addpart(bundle2.bundlepart('replycaps')) if not pushop.force: part = bundle2.bundlepart('CHECK:HEADS', data=iter(pushop.remoteheads))