1REPO(1)                           Repo Manual                          REPO(1)
2
3
4

NAME

6       repo - repo init - manual page for repo init
7

SYNOPSIS

9       repo init [options] [manifest url]
10

DESCRIPTION

12       Summary
13
14       Initialize a repo client checkout in the current directory
15

OPTIONS

17       -h, --help
18              show this help message and exit
19
20   Logging options:
21       -v, --verbose
22              show all output
23
24       -q, --quiet
25              only show errors
26
27   Manifest options:
28       -u URL, --manifest-url=URL
29              manifest repository location
30
31       -b REVISION, --manifest-branch=REVISION
32              manifest branch or revision (use HEAD for default)
33
34       -m NAME.xml, --manifest-name=NAME.xml
35              initial manifest file
36
37       -g GROUP, --groups=GROUP
38              restrict  manifest projects to ones with specified group(s) [de‐
39              fault|all|G1,G2,G3|G4,-G5,-G6]
40
41       -p PLATFORM, --platform=PLATFORM
42              restrict manifest projects to ones  with  a  specified  platform
43              group [auto|all|none|linux|darwin|...]
44
45       --submodules
46              sync any submodules associated with the manifest repo
47
48       --standalone-manifest
49              download  the manifest as a static file rather then create a git
50              checkout of the manifest repo
51
52       --manifest-depth=DEPTH
53              create a shallow clone of the manifest repo with given depth  (0
54              for full clone); see git clone (default: 0)
55
56   Manifest (only) checkout options:
57       -c, --current-branch
58              fetch only current manifest branch from server (default)
59
60       --no-current-branch
61              fetch all manifest branches from server
62
63       --tags fetch tags in the manifest
64
65       --no-tags
66              don't fetch tags in the manifest
67
68   Checkout modes:
69       --mirror
70              create a replica of the remote repositories rather than a client
71              working directory
72
73       --archive
74              checkout an  archive  instead  of  a  git  repository  for  each
75              project. See git archive.
76
77       --worktree
78              use git-worktree to manage projects
79
80   Project checkout optimizations:
81       --reference=DIR
82              location of mirror directory
83
84       --dissociate
85              dissociate from reference mirrors after clone
86
87       --depth=DEPTH
88              create a shallow clone with given depth; see git clone
89
90       --partial-clone
91              perform partial clone (https://gitscm.com/docs/gitrepositorylay
92              out#_code_partialclone_code)
93
94       --no-partial-clone
95              disable use of partial clone (https://gitscm.com/docs/gitreposi
96              torylayout#_code_partialclone_code)
97
98       --partial-clone-exclude=PARTIAL_CLONE_EXCLUDE
99              exclude the specified projects (a comma-delimited project names)
100              from  partial  clone  (https://gitscm.com/docs/gitrepositorylay
101              out#_code_partialclone_code)
102
103       --clone-filter=CLONE_FILTER
104              filter for use with --partial-clone [default: blob:none]
105
106       --use-superproject
107              use the manifest superproject to sync projects; implies -c
108
109       --no-use-superproject
110              disable use of manifest superprojects
111
112       --clone-bundle
113              enable use of /clone.bundle on HTTP/HTTPS (default if not --par‐
114              tial-clone)
115
116       --no-clone-bundle
117              disable use of /clone.bundle on HTTP/HTTPS  (default  if  --par‐
118              tial-clone)
119
120       --git-lfs
121              enable Git LFS support
122
123       --no-git-lfs
124              disable Git LFS support
125
126   repo Version options:
127       --repo-url=URL
128              repo repository location ($REPO_URL)
129
130       --repo-rev=REV
131              repo branch or revision ($REPO_REV)
132
133       --no-repo-verify
134              do not verify repo source code
135
136   Other options:
137       --config-name
138              Always prompt for name/e-mail
139
140   Multi-manifest:
141       --outer-manifest
142              operate starting at the outermost manifest
143
144       --no-outer-manifest
145              do not operate on outer manifests
146
147       --this-manifest-only
148              only operate on this (sub)manifest
149
150       --no-this-manifest-only, --all-manifests
151              operate on this manifest and its submanifests
152
153       Run `repo help init` to view the detailed manual.
154

DETAILS

156       The 'repo init' command is run once to install and initialize repo. The
157       latest repo source code and manifest collection is downloaded from  the
158       server  and is installed in the .repo/ directory in the current working
159       directory.
160
161       When creating a new checkout, the manifest URL  is  the  only  required
162       setting. It may be specified using the --manifest-url option, or as the
163       first optional argument.
164
165       The optional -b argument can be used to select the manifest  branch  to
166       checkout  and  use.  If  no  branch  is specified, the remote's default
167       branch is used. This is equivalent to using -b HEAD.
168
169       The optional -m argument can be used to specify an  alternate  manifest
170       to  be used. If no manifest is specified, the manifest default.xml will
171       be used.
172
173       If the --standalone-manifest argument is  set,  the  manifest  will  be
174       downloaded  directly from the specified --manifest-url as a static file
175       (rather than  setting  up  a  manifest  git  checkout).  With  --stand‐
176       alone-manifest,  the  manifest  will  be  fully  static and will not be
177       re-downloaded during subsesquent `repo init` and `repo sync` calls.
178
179       The --reference option can be used to point to a directory that has the
180       content of a --mirror sync. This will make the working directory use as
181       much data as possible from the local reference directory when  fetching
182       from  the  server.  This will make the sync go a lot faster by reducing
183       data traffic on the network.
184
185       The --dissociate option can be used to borrow the objects from the  di‐
186       rectory  specified  with  the --reference option only to reduce network
187       transfer, and stop borrowing from them after a first clone is  made  by
188       making necessary local copies of borrowed objects.
189
190       The    --no-clone-bundle   option   disables   any   attempt   to   use
191       $URL/clone.bundle to bootstrap a new Git repository from  a  resumeable
192       bundle  file  on  a  content delivery network. This may be necessary if
193       there are problems with the local Python HTTP client or proxy  configu‐
194       ration, but the Git binary works.
195
196       Switching Manifest Branches
197
198       To switch to another manifest branch, `repo init -b otherbranch` may be
199       used in an existing client. However, as this only updates the manifest,
200       a subsequent `repo sync` (or `repo sync -d`) is necessary to update the
201       working directory files.
202
203
204
205repo init                        October 2022                          REPO(1)
Impressum