mercurial/wireproto.py
branchstable
changeset 26857 e5a1df51bb25
parent 26690 704818fb170d
child 26911 d7e5e4da8394
--- a/mercurial/wireproto.py	Wed Nov 04 23:48:15 2015 +0900
+++ b/mercurial/wireproto.py	Tue Nov 03 12:31:33 2015 -0800
@@ -549,6 +549,17 @@
         r.append(encodelist(b) + "\n")
     return "".join(r)
 
+@wireprotocommand('clonebundles', '')
+def clonebundles(repo, proto):
+    """Server command for returning info for available bundles to seed clones.
+
+    Clients will parse this response and determine what bundle to fetch.
+
+    Extensions may wrap this command to filter or dynamically emit data
+    depending on the request. e.g. you could advertise URLs for the closest
+    data center given the client's IP address.
+    """
+    return repo.opener.tryread('clonebundles.manifest')
 
 wireprotocaps = ['lookup', 'changegroupsubset', 'branchmap', 'pushkey',
                  'known', 'getbundle', 'unbundlehash', 'batch']