REPO(1)

NAME
repo - repo upload - manual page for repo upload

SYNOPSIS
repo upload [--re --cc] [<project>]...

DESCRIPTION
Summary

Upload changes for code review

OPTIONS

-h, --help
    show this help message and exit

-j JOBS, --jobs=JOBS
    number of 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.

Run `repo help upload` to view the detailed manual.

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.

While most normal Gerrit options have dedicated command line options, direct access to the Gerit 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/