From 076d54652e0025e1360f66e483926477b910b02e Mon Sep 17 00:00:00 2001 From: Mike Frysinger <vapier@google.com> Date: Thu, 18 Aug 2022 07:20:57 -0400 Subject: [PATCH] init: change --depth default to 1 for manifest repo People rarely care about the history of the manifest repo. Change the default to 1 to speed up initial setup. If people really want the full history, they can pass --manifest-depth=0. We can't reuse the existing --depth option because that applies to all projects we clone, not just the manifest repo. Bug: https://crbug.com/gerrit/16193 Change-Id: Ideab1712e9ffc743b9bae97903e074d7d429b134 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/343435 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: LaMont Jones <lamontjones@google.com> --- man/repo-gitc-init.1 | 4 ++++ man/repo-init.1 | 4 ++++ repo | 3 +++ subcmds/init.py | 4 ++++ 4 files changed, 15 insertions(+) diff --git a/man/repo-gitc-init.1 b/man/repo-gitc-init.1 index 88136de6..d6ef5ab6 100644 --- a/man/repo-gitc-init.1 +++ b/man/repo-gitc-init.1 @@ -45,6 +45,10 @@ sync any submodules associated with the manifest repo \fB\-\-standalone\-manifest\fR download the manifest as a static file rather then create a git checkout of the manifest repo +.TP +\fB\-\-manifest\-depth\fR=\fI\,DEPTH\/\fR +create a shallow clone of the manifest repo with given +depth; see git clone (default: 1) .SS Manifest (only) checkout options: .TP \fB\-\-current\-branch\fR diff --git a/man/repo-init.1 b/man/repo-init.1 index 32b3ea1b..0d45bf78 100644 --- a/man/repo-init.1 +++ b/man/repo-init.1 @@ -45,6 +45,10 @@ sync any submodules associated with the manifest repo \fB\-\-standalone\-manifest\fR download the manifest as a static file rather then create a git checkout of the manifest repo +.TP +\fB\-\-manifest\-depth\fR=\fI\,DEPTH\/\fR +create a shallow clone of the manifest repo with given +depth; see git clone (default: 1) .SS Manifest (only) checkout options: .TP \fB\-c\fR, \fB\-\-current\-branch\fR diff --git a/repo b/repo index 1940a319..e97cdd7d 100755 --- a/repo +++ b/repo @@ -316,6 +316,9 @@ def InitParser(parser, gitc_init=False): help='download the manifest as a static file ' 'rather then create a git checkout of ' 'the manifest repo') + group.add_option('--manifest-depth', type='int', default=1, metavar='DEPTH', + help='create a shallow clone of the manifest repo with ' + 'given depth; see git clone (default: %default)') # Options that only affect manifest project, and not any of the projects # specified in the manifest itself. diff --git a/subcmds/init.py b/subcmds/init.py index e4df6b37..bcccae06 100644 --- a/subcmds/init.py +++ b/subcmds/init.py @@ -109,6 +109,10 @@ to update the working directory files. Args: opt: options from optparse. """ + # Normally this value is set when instantiating the project, but the + # manifest project is special and is created when instantiating the + # manifest which happens before we parse options. + self.manifest.manifestProject.clone_depth = opt.manifest_depth if not self.manifest.manifestProject.Sync( manifest_url=opt.manifest_url, manifest_branch=opt.manifest_branch,