REPO(1)
π NAME π
okay so bestie, this is the manual page for repo upload β the repo command's upload helper. It lives in the Repo Manual, section 1, and the page you're reading right now is REPO(1). Yes, that's the same thing, we're just vibing. β¨
β¨ SYNOPSIS β¨
repo upload [--re --cc] [<project>]...
πΈ DESCRIPTION πΈ
Summary
Upload changes for code review. That's the whole thing. That's the job. slay. π
π OPTIONS π
-h,--helpβ show this help message and exit-j JOBS,--jobs=JOBSβ how many jobs to run in parallel (default: based on number of CPU cores)-t,--topic-branchβ set the topic to the local branch name--topic=TOPICβ set topic for the change--hashtag=HASHTAGS,--ht=HASHTAGSβ add hashtags (comma delimited) to the review--hashtag-branch,--htbβ add local branch name as a hashtag-l LABELS,--label=LABELSβ add a label when uploading--pd=PATCHSET_DESCRIPTION,--patchset-description=PATCHSET_DESCRIPTIONβ description for patchset--re=REVIEWERS,--reviewers=REVIEWERSβ request reviews from these people--cc=CCβ also send email to these email addresses--br=BRANCH,--branch=BRANCHβ (local) branch to upload-c,--current-branchβ upload current git branch--no-current-branchβ upload all git branches--ne,--no-emailsβ do not send e-mails on upload-p,--privateβ upload as a private change (deprecated; use--wip)-w,--wipβ upload as a work-in-progress change-r,--readyβ mark change as ready (clears work-in-progress setting)-o PUSH_OPTIONS,--push-option=PUSH_OPTIONSβ additional push options to transmit-D BRANCH,--destination=BRANCH,--dest=BRANCHβ submit for review on this target branch-n,--dry-runβ do everything except actually upload the CL-y,--yesβ answer yes to all safe prompts--ignore-untracked-filesβ ignore untracked files in the working copy--no-ignore-untracked-filesβ always ask about untracked files in the working copy--no-cert-checksβ disable verifying ssl certs (unsafe)
π Logging options:
-v,--verboseβ show all output-q,--quietβ only show errors
ποΈ Multi-manifest options:
--outer-manifestβ operate starting at the outermost manifest--no-outer-manifestβ do not operate on outer manifests--this-manifest-onlyβ only operate on this (sub)manifest--no-this-manifest-only,--all-manifestsβ operate on this manifest and its submanifests
πͺ pre-upload hooks:
--no-verifyβ Do not run the pre-upload hook.--verifyβ Run the pre-upload hook without prompting.--ignore-hooksβ Do not abort if pre-upload hooks fail.--fixβ Automatically apply pre-upload fixes without prompting.
Run repo help upload to view the detailed manual. (iykyk, there's a whole other manual hiding in there π«Ά)
π DETAILS π
The repo upload command is used to send changes to the Gerrit Code Review system. It searches for topic branches in local projects that have not yet been published for review. If multiple topic branches are found, repo upload opens an editor to allow the user to select which branches to upload.
repo upload searches for uploadable changes in all projects listed at the command line. Projects can be specified either by name, or by a relative or absolute path to the project's local directory. If no projects are specified, repo upload will search for uploadable changes in all projects listed in the manifest.
If the --reviewers or --cc options are passed, those emails are added to the respective list of users, and emails are sent to any new users. Users passed as --reviewers must already be registered with the code review system, or the upload will fail. like, it will genuinely just fail. no cap.
While most normal Gerrit options have dedicated command line options, direct access to the Gerrit options is available via --push-options. This is useful when Gerrit has newer functionality that repo upload doesn't yet support, or doesn't have plans to support. See the Push Options documentation for more details:
https://gerrit-review.googlesource.com/Documentation/user-upload.html#push_options
π§ Configuration
review.URL.autoupload:
To disable the "Upload ... (y/N)?" prompt, you can set a per-project or global Git configuration option. If review.URL.autoupload is set to "true" then repo will assume you always answer "y" at the prompt, and will not prompt you further. If it is set to "false" then repo will assume you always answer "n", and will abort.
review.URL.autoreviewer:
To automatically append a user or mailing list to reviews, you can set a per-project or global Git option to do so.
review.URL.autocopy:
To automatically copy a user or mailing list to all uploaded reviews, you can set a per-project or global Git option to do so. Specifically, review.URL.autocopy can be set to a comma separated list of reviewers who you always want copied on all uploads with a non-empty --re argument.
review.URL.username:
Override the username used to connect to Gerrit Code Review. By default the local part of the email address is used.
The URL must match the review URL listed in the manifest XML file, or in the .git/config within the project. For example:
[remote "origin"]
url = git://git.example.com/project.git review =
http://review.example.com/
[review "http://review.example.com/"]
autoupload = true autocopy =
johndoe@company.com,my-team-alias@company.com
review.URL.uploadtopic:
To add a topic branch whenever uploading a commit, you can set a per-project or global Git option to do so. If review.URL.uploadtopic is set to "true" then repo will assume you always want the equivalent of the -t option to the repo command. If unset or set to "false" then repo will make use of only the command line option.
review.URL.uploadhashtags:
To add hashtags whenever uploading a commit, you can set a per-project or global Git option to do so. The value of review.URL.uploadhashtags will be used as comma delimited hashtags like the --hashtag option.
review.URL.uploadlabels:
To add labels whenever uploading a commit, you can set a per-project or global Git option to do so. The value of review.URL.uploadlabels will be used as comma delimited labels like the --label option.
review.URL.uploadnotify:
Control e-mail notifications when uploading.
https://gerrit-review.googlesource.com/Documentation/user-upload.html#notify
review.URL.uploadwarningthreshold:
Repo will warn you if you are attempting to upload a large number of commits in one or more branches. By default, the threshold is five commits. This option allows you to override the warning threshold to a different value.
β References
Gerrit Code Review:
https://www.gerritcodereview.com/
okay that's the whole page bestie, you ate it up π this was the repo upload manual, August 2026 edition, tagged REPO(1) and sourced from the repo upload docs. go forth and upload, you've got this ππ
π¦ where this page comes from
- arch rolling: repo 2.67-1 Β· Apache-2.0
- fedora 43: repo 2.68-1.fc43
- fedora 43: repo 2.69-1.fc43 Β· Apache-2.0
- fedora 44: repo 2.68-1.fc44
- fedora 44: repo 2.69-1.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms