mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
init: add --manifest-depth for shallow manifest clone
People rarely care about the history of the manifest repo. Add a parameter to specify depth for the manifest. For now, make the default behavior the same as the current behavior. At a future date, the default will be changed to 1. People who need the full history should begin passing --manifest-depth=0 to preserve the behavior when the default changes. 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, https://crbug.com/gerrit/16358 Change-Id: I9130fed3eaed656435c778a85cfe9d04e3a4a6a0 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/349814 Tested-by: LaMont Jones <lamontjones@google.com> Reviewed-by: Xin Li <delphij@google.com>
This commit is contained in:
parent
6c8b894d8d
commit
b750b48f50
@ -1,5 +1,5 @@
|
|||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man.
|
||||||
.TH REPO "1" "August 2022" "repo gitc-init" "Repo Manual"
|
.TH REPO "1" "October 2022" "repo gitc-init" "Repo Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
repo \- repo gitc-init - manual page for repo gitc-init
|
repo \- repo gitc-init - manual page for repo gitc-init
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -45,6 +45,10 @@ sync any submodules associated with the manifest repo
|
|||||||
\fB\-\-standalone\-manifest\fR
|
\fB\-\-standalone\-manifest\fR
|
||||||
download the manifest as a static file rather then
|
download the manifest as a static file rather then
|
||||||
create a git checkout of the manifest repo
|
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 (0 for full clone); see git clone (default: 0)
|
||||||
.SS Manifest (only) checkout options:
|
.SS Manifest (only) checkout options:
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-current\-branch\fR
|
\fB\-\-current\-branch\fR
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man.
|
||||||
.TH REPO "1" "August 2022" "repo init" "Repo Manual"
|
.TH REPO "1" "October 2022" "repo init" "Repo Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
repo \- repo init - manual page for repo init
|
repo \- repo init - manual page for repo init
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -45,6 +45,10 @@ sync any submodules associated with the manifest repo
|
|||||||
\fB\-\-standalone\-manifest\fR
|
\fB\-\-standalone\-manifest\fR
|
||||||
download the manifest as a static file rather then
|
download the manifest as a static file rather then
|
||||||
create a git checkout of the manifest repo
|
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 (0 for full clone); see git clone (default: 0)
|
||||||
.SS Manifest (only) checkout options:
|
.SS Manifest (only) checkout options:
|
||||||
.TP
|
.TP
|
||||||
\fB\-c\fR, \fB\-\-current\-branch\fR
|
\fB\-c\fR, \fB\-\-current\-branch\fR
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man.
|
||||||
.TH REPO "1" "July 2022" "repo manifest" "Repo Manual"
|
.TH REPO "1" "October 2022" "repo manifest" "Repo Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
repo \- repo manifest - manual page for repo manifest
|
repo \- repo manifest - manual page for repo manifest
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -190,6 +190,8 @@ CDATA #IMPLIED>
|
|||||||
<!ATTLIST extend\-project groups CDATA #IMPLIED>
|
<!ATTLIST extend\-project groups CDATA #IMPLIED>
|
||||||
<!ATTLIST extend\-project revision CDATA #IMPLIED>
|
<!ATTLIST extend\-project revision CDATA #IMPLIED>
|
||||||
<!ATTLIST extend\-project remote CDATA #IMPLIED>
|
<!ATTLIST extend\-project remote CDATA #IMPLIED>
|
||||||
|
<!ATTLIST extend\-project dest\-branch CDATA #IMPLIED>
|
||||||
|
<!ATTLIST extend\-project upstream CDATA #IMPLIED>
|
||||||
.IP
|
.IP
|
||||||
<!ELEMENT remove\-project EMPTY>
|
<!ELEMENT remove\-project EMPTY>
|
||||||
<!ATTLIST remove\-project name CDATA #REQUIRED>
|
<!ATTLIST remove\-project name CDATA #REQUIRED>
|
||||||
@ -485,6 +487,12 @@ project. Same syntax as the corresponding element of `project`.
|
|||||||
Attribute `remote`: If specified, overrides the remote of the original project.
|
Attribute `remote`: If specified, overrides the remote of the original project.
|
||||||
Same syntax as the corresponding element of `project`.
|
Same syntax as the corresponding element of `project`.
|
||||||
.PP
|
.PP
|
||||||
|
Attribute `dest\-branch`: If specified, overrides the dest\-branch of the original
|
||||||
|
project. Same syntax as the corresponding element of `project`.
|
||||||
|
.PP
|
||||||
|
Attribute `upstream`: If specified, overrides the upstream of the original
|
||||||
|
project. Same syntax as the corresponding element of `project`.
|
||||||
|
.PP
|
||||||
Element annotation
|
Element annotation
|
||||||
.PP
|
.PP
|
||||||
Zero or more annotation elements may be specified as children of a project or
|
Zero or more annotation elements may be specified as children of a project or
|
||||||
@ -600,7 +608,7 @@ included manifest belong. This appends and recurses, meaning all projects in
|
|||||||
included manifests carry all parent include groups. Same syntax as the
|
included manifests carry all parent include groups. Same syntax as the
|
||||||
corresponding element of `project`.
|
corresponding element of `project`.
|
||||||
.PP
|
.PP
|
||||||
Local Manifests
|
Local Manifests
|
||||||
.PP
|
.PP
|
||||||
Additional remotes and projects may be added through local manifest files stored
|
Additional remotes and projects may be added through local manifest files stored
|
||||||
in `$TOP_DIR/.repo/local_manifests/*.xml`.
|
in `$TOP_DIR/.repo/local_manifests/*.xml`.
|
||||||
|
4
repo
4
repo
@ -316,6 +316,10 @@ def InitParser(parser, gitc_init=False):
|
|||||||
help='download the manifest as a static file '
|
help='download the manifest as a static file '
|
||||||
'rather then create a git checkout of '
|
'rather then create a git checkout of '
|
||||||
'the manifest repo')
|
'the manifest repo')
|
||||||
|
group.add_option('--manifest-depth', type='int', default=0, metavar='DEPTH',
|
||||||
|
help='create a shallow clone of the manifest repo with '
|
||||||
|
'given depth (0 for full clone); see git clone '
|
||||||
|
'(default: %default)')
|
||||||
|
|
||||||
# Options that only affect manifest project, and not any of the projects
|
# Options that only affect manifest project, and not any of the projects
|
||||||
# specified in the manifest itself.
|
# specified in the manifest itself.
|
||||||
|
@ -109,6 +109,10 @@ to update the working directory files.
|
|||||||
Args:
|
Args:
|
||||||
opt: options from optparse.
|
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(
|
if not self.manifest.manifestProject.Sync(
|
||||||
manifest_url=opt.manifest_url,
|
manifest_url=opt.manifest_url,
|
||||||
manifest_branch=opt.manifest_branch,
|
manifest_branch=opt.manifest_branch,
|
||||||
|
Loading…
Reference in New Issue
Block a user