diff mercurial/hg.py @ 40331:ac59de55c8b4

exchange: support declaring pull depth Upcoming commits will teach exchangev2 how to perform a shallow clone. This commit teaches hg.clone(), exchange.pull(), and exchange.pulloperation to recognize a request for a shallow clone by having the caller specify a numeric depth of the maximum number of ancestor changesets to fetch. There are certainly other ways we could control shallow-ness. But this one is simple to implement and is also how the narrow extension controls things. So it seems to make sense to start here. Differential Revision: https://phab.mercurial-scm.org/D5136
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 14 Sep 2018 14:56:13 -0700
parents 6637b079ae45
children b14fdf1fb615
line wrap: on
line diff
--- a/mercurial/hg.py	Wed Oct 17 10:10:05 2018 +0200
+++ b/mercurial/hg.py	Fri Sep 14 14:56:13 2018 -0700
@@ -479,7 +479,7 @@
 
 def clone(ui, peeropts, source, dest=None, pull=False, revs=None,
           update=True, stream=False, branch=None, shareopts=None,
-          storeincludepats=None, storeexcludepats=None):
+          storeincludepats=None, storeexcludepats=None, depth=None):
     """Make a copy of an existing repository.
 
     Create a copy of an existing repository in a new directory.  The
@@ -749,7 +749,8 @@
                     exchange.pull(local, srcpeer, revs,
                                   streamclonerequested=stream,
                                   includepats=storeincludepats,
-                                  excludepats=storeexcludepats)
+                                  excludepats=storeexcludepats,
+                                  depth=depth)
             elif srcrepo:
                 # TODO lift restriction once exchange.push() accepts narrow
                 # push.