diff mercurial/wireprotov1peer.py @ 50701:4238e6b22fc4

clonebundles: introduce a new write protocol command The old wire command does not take argument so we need a new command. We make that new command take argument to prepare it for the future (like narrow support).
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 19 Jun 2023 15:49:35 +0200
parents 2aaabd8f4471
children d718eddf01d9
line wrap: on
line diff
--- a/mercurial/wireprotov1peer.py	Mon Jun 19 11:28:45 2023 +0200
+++ b/mercurial/wireprotov1peer.py	Mon Jun 19 15:49:35 2023 +0200
@@ -338,8 +338,11 @@
     # Begin of ipeercommands interface.
 
     def clonebundles(self):
-        self.requirecap(b'clonebundles', _(b'clone bundles'))
-        return self._call(b'clonebundles')
+        if self.capable(b'clonebundles_manifest'):
+            return self._call(b'clonebundles_manifest')
+        else:
+            self.requirecap(b'clonebundles', _(b'clone bundles'))
+            return self._call(b'clonebundles')
 
     def _finish_inline_clone_bundle(self, stream):
         pass  # allow override for httppeer