# HG changeset patch # User Thomas Arendsen Hein # Date 1162474748 -3600 # Node ID d1b16a746db64a0ee2aa8bf09f2881dd5bc411cb # Parent 967f1d00f5216989aca687ffc9a754eae45a9b05 Add allowed bundle types as argument to hgweb unbundle capability. Arguments to capabilities were added before the 0.9.1 release, so there are no compatibility issues. Mercurial 0.9 didn't support http push. Using HG10GZ, HG10BZ and HG10UN has the advantage that new bundle types can be added later and the client doesn't have to try sending them first and reacting on errors sent by the server. diff -r 967f1d00f521 -r d1b16a746db6 mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py Wed Nov 01 19:59:26 2006 -0300 +++ b/mercurial/hgweb/hgweb_mod.py Thu Nov 02 14:39:08 2006 +0100 @@ -1021,9 +1021,13 @@ or self.t("error", error="%r not found" % fname)) def do_capabilities(self, req): - caps = ['unbundle', 'lookup', 'changegroupsubset', 'standardbundle'] + caps = ['lookup', 'changegroupsubset'] if self.configbool('server', 'uncompressed'): caps.append('stream=%d' % self.repo.revlogversion) + # XXX: make configurable and/or share code with do_unbundle: + unbundleversions = ['HG10GZ', 'HG10BZ', 'HG10UN'] + if unbundleversions: + caps.append('unbundle=%s' % ','.join(unbundleversions)) resp = ' '.join(caps) req.httphdr("application/mercurial-0.1", length=len(resp)) req.write(resp)