mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-27 07:16:20 +00:00
b750b48f50
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>
196 lines
6.4 KiB
Groff
196 lines
6.4 KiB
Groff
.\" DO NOT MODIFY THIS FILE! It was generated by help2man.
|
|
.TH REPO "1" "October 2022" "repo init" "Repo Manual"
|
|
.SH NAME
|
|
repo \- repo init - manual page for repo init
|
|
.SH SYNOPSIS
|
|
.B repo
|
|
\fI\,init \/\fR[\fI\,options\/\fR] [\fI\,manifest url\/\fR]
|
|
.SH DESCRIPTION
|
|
Summary
|
|
.PP
|
|
Initialize a repo client checkout in the current directory
|
|
.SH OPTIONS
|
|
.TP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
show this help message and exit
|
|
.SS Logging options:
|
|
.TP
|
|
\fB\-v\fR, \fB\-\-verbose\fR
|
|
show all output
|
|
.TP
|
|
\fB\-q\fR, \fB\-\-quiet\fR
|
|
only show errors
|
|
.SS Manifest options:
|
|
.TP
|
|
\fB\-u\fR URL, \fB\-\-manifest\-url\fR=\fI\,URL\/\fR
|
|
manifest repository location
|
|
.TP
|
|
\fB\-b\fR REVISION, \fB\-\-manifest\-branch\fR=\fI\,REVISION\/\fR
|
|
manifest branch or revision (use HEAD for default)
|
|
.TP
|
|
\fB\-m\fR NAME.xml, \fB\-\-manifest\-name\fR=\fI\,NAME\/\fR.xml
|
|
initial manifest file
|
|
.TP
|
|
\fB\-g\fR GROUP, \fB\-\-groups\fR=\fI\,GROUP\/\fR
|
|
restrict manifest projects to ones with specified
|
|
group(s) [default|all|G1,G2,G3|G4,\-G5,\-G6]
|
|
.TP
|
|
\fB\-p\fR PLATFORM, \fB\-\-platform\fR=\fI\,PLATFORM\/\fR
|
|
restrict manifest projects to ones with a specified
|
|
platform group [auto|all|none|linux|darwin|...]
|
|
.TP
|
|
\fB\-\-submodules\fR
|
|
sync any submodules associated with the manifest repo
|
|
.TP
|
|
\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 (0 for full clone); see git clone (default: 0)
|
|
.SS Manifest (only) checkout options:
|
|
.TP
|
|
\fB\-c\fR, \fB\-\-current\-branch\fR
|
|
fetch only current manifest branch from server
|
|
(default)
|
|
.TP
|
|
\fB\-\-no\-current\-branch\fR
|
|
fetch all manifest branches from server
|
|
.TP
|
|
\fB\-\-tags\fR
|
|
fetch tags in the manifest
|
|
.TP
|
|
\fB\-\-no\-tags\fR
|
|
don't fetch tags in the manifest
|
|
.SS Checkout modes:
|
|
.TP
|
|
\fB\-\-mirror\fR
|
|
create a replica of the remote repositories rather
|
|
than a client working directory
|
|
.TP
|
|
\fB\-\-archive\fR
|
|
checkout an archive instead of a git repository for
|
|
each project. See git archive.
|
|
.TP
|
|
\fB\-\-worktree\fR
|
|
use git\-worktree to manage projects
|
|
.SS Project checkout optimizations:
|
|
.TP
|
|
\fB\-\-reference\fR=\fI\,DIR\/\fR
|
|
location of mirror directory
|
|
.TP
|
|
\fB\-\-dissociate\fR
|
|
dissociate from reference mirrors after clone
|
|
.TP
|
|
\fB\-\-depth\fR=\fI\,DEPTH\/\fR
|
|
create a shallow clone with given depth; see git clone
|
|
.TP
|
|
\fB\-\-partial\-clone\fR
|
|
perform partial clone (https://gitscm.com/docs/gitrepositorylayout#_code_partialclone_code)
|
|
.TP
|
|
\fB\-\-no\-partial\-clone\fR
|
|
disable use of partial clone (https://gitscm.com/docs/gitrepositorylayout#_code_partialclone_code)
|
|
.TP
|
|
\fB\-\-partial\-clone\-exclude\fR=\fI\,PARTIAL_CLONE_EXCLUDE\/\fR
|
|
exclude the specified projects (a comma\-delimited
|
|
project names) from partial clone (https://gitscm.com/docs/gitrepositorylayout#_code_partialclone_code)
|
|
.TP
|
|
\fB\-\-clone\-filter\fR=\fI\,CLONE_FILTER\/\fR
|
|
filter for use with \fB\-\-partial\-clone\fR [default:
|
|
blob:none]
|
|
.TP
|
|
\fB\-\-use\-superproject\fR
|
|
use the manifest superproject to sync projects;
|
|
implies \fB\-c\fR
|
|
.TP
|
|
\fB\-\-no\-use\-superproject\fR
|
|
disable use of manifest superprojects
|
|
.TP
|
|
\fB\-\-clone\-bundle\fR
|
|
enable use of \fI\,/clone.bundle\/\fP on HTTP/HTTPS (default if
|
|
not \fB\-\-partial\-clone\fR)
|
|
.TP
|
|
\fB\-\-no\-clone\-bundle\fR
|
|
disable use of \fI\,/clone.bundle\/\fP on HTTP/HTTPS (default if
|
|
\fB\-\-partial\-clone\fR)
|
|
.TP
|
|
\fB\-\-git\-lfs\fR
|
|
enable Git LFS support
|
|
.TP
|
|
\fB\-\-no\-git\-lfs\fR
|
|
disable Git LFS support
|
|
.SS repo Version options:
|
|
.TP
|
|
\fB\-\-repo\-url\fR=\fI\,URL\/\fR
|
|
repo repository location ($REPO_URL)
|
|
.TP
|
|
\fB\-\-repo\-rev\fR=\fI\,REV\/\fR
|
|
repo branch or revision ($REPO_REV)
|
|
.TP
|
|
\fB\-\-no\-repo\-verify\fR
|
|
do not verify repo source code
|
|
.SS Other options:
|
|
.TP
|
|
\fB\-\-config\-name\fR
|
|
Always prompt for name/e\-mail
|
|
.SS Multi\-manifest:
|
|
.TP
|
|
\fB\-\-outer\-manifest\fR
|
|
operate starting at the outermost manifest
|
|
.TP
|
|
\fB\-\-no\-outer\-manifest\fR
|
|
do not operate on outer manifests
|
|
.TP
|
|
\fB\-\-this\-manifest\-only\fR
|
|
only operate on this (sub)manifest
|
|
.TP
|
|
\fB\-\-no\-this\-manifest\-only\fR, \fB\-\-all\-manifests\fR
|
|
operate on this manifest and its submanifests
|
|
.PP
|
|
Run `repo help init` to view the detailed manual.
|
|
.SH DETAILS
|
|
.PP
|
|
The 'repo init' command is run once to install and initialize repo. The latest
|
|
repo source code and manifest collection is downloaded from the server and is
|
|
installed in the .repo/ directory in the current working directory.
|
|
.PP
|
|
When creating a new checkout, the manifest URL is the only required setting. It
|
|
may be specified using the \fB\-\-manifest\-url\fR option, or as the first optional
|
|
argument.
|
|
.PP
|
|
The optional \fB\-b\fR argument can be used to select the manifest branch to checkout
|
|
and use. If no branch is specified, the remote's default branch is used. This is
|
|
equivalent to using \fB\-b\fR HEAD.
|
|
.PP
|
|
The optional \fB\-m\fR argument can be used to specify an alternate manifest to be
|
|
used. If no manifest is specified, the manifest default.xml will be used.
|
|
.PP
|
|
If the \fB\-\-standalone\-manifest\fR argument is set, the manifest will be downloaded
|
|
directly from the specified \fB\-\-manifest\-url\fR as a static file (rather than setting
|
|
up a manifest git checkout). With \fB\-\-standalone\-manifest\fR, the manifest will be
|
|
fully static and will not be re\-downloaded during subsesquent `repo init` and
|
|
`repo sync` calls.
|
|
.PP
|
|
The \fB\-\-reference\fR option can be used to point to a directory that has the content
|
|
of a \fB\-\-mirror\fR sync. This will make the working directory use as much data as
|
|
possible from the local reference directory when fetching from the server. This
|
|
will make the sync go a lot faster by reducing data traffic on the network.
|
|
.PP
|
|
The \fB\-\-dissociate\fR option can be used to borrow the objects from the directory
|
|
specified with the \fB\-\-reference\fR option only to reduce network transfer, and stop
|
|
borrowing from them after a first clone is made by making necessary local copies
|
|
of borrowed objects.
|
|
.PP
|
|
The \fB\-\-no\-clone\-bundle\fR option disables any attempt to use \fI\,$URL/clone.bundle\/\fP to
|
|
bootstrap a new Git repository from a resumeable bundle file on a content
|
|
delivery network. This may be necessary if there are problems with the local
|
|
Python HTTP client or proxy configuration, but the Git binary works.
|
|
.PP
|
|
Switching Manifest Branches
|
|
.PP
|
|
To switch to another manifest branch, `repo init \fB\-b\fR otherbranch` may be used in
|
|
an existing client. However, as this only updates the manifest, a subsequent
|
|
`repo sync` (or `repo sync \fB\-d\fR`) is necessary to update the working directory
|
|
files.
|