# git-receive-pack

version 2.4.2-5-g8b3e6cf

## NAME

git-receive-pack - Receive what is pushed into the repository

## SYNOPSIS

    git receive-pack [--reviewer <address>] [--cc <address>] <project>

## DESCRIPTION

Invoked by git push and updates the project’s repository with the information fed from the git push end.

End users can supply options to this command by passing them through to git push, which will relay them automatically.

## OPTIONS

<project>

  The remote repository that will receive the pushed objects, and create (or update) changes. Within Gerrit Code Review this is the name of a project. The optional leading `/` and or trailing `.git` suffix will be removed, if supplied.

--reviewer <address>
--re <address>

  Automatically add <address> as a reviewer to any change created or updated by the pushed commit objects. These changes will appear in the reviewer’s dashboard, and will also be emailed to the reviewer.

  May be specified more than once to request multiple reviewers.

  This is a Gerrit Code Review specific extension.

--cc <address>

  Carbon-copy <address> on the created or updated changes, but don’t request them to perform a review. Like with --reviewer the changes will appear in the CC’d user’s dashboard, and will be emailed to them.

  May be specified more than once to specify multiple CCs.

  This is a Gerrit Code Review specific extension.

Above <address> may be the complete email address, or, if Gerrit is configured with HTTP authentication (e.g. within a single domain), just the local part (typically username).

## ACCESS

Any user who has configured an SSH key.

## EXAMPLES

Send a review for a change on the master branch to charlie@example.com:

    git push --receive-pack='git receive-pack --reviewer charlie@example.com' ssh://review.example.com:29418/project HEAD:refs/for/master

Send reviews, but tagging them with the topic name bug42:

    git push --receive-pack='git receive-pack --reviewer charlie@example.com' ssh://review.example.com:29418/project HEAD:refs/for/master/bug42

Also CC two other parties:

    git push --receive-pack='git receive-pack --reviewer charlie@example.com --cc alice@example.com --cc bob@example.com' ssh://review.example.com:29418/project HEAD:refs/for/master

Configure a push macro to perform the last action:

    git config remote.charlie.url ssh://review.example.com:29418/project
    git config remote.charlie.push HEAD:refs/for/master
    git config remote.charlie.receivepack 'git receive-pack --reviewer charlie@example.com --cc alice@example.com --cc bob@example.com'

afterwards `.git/config` contains the following:

    [remote "charlie"]
      url = ssh://review.example.com:29418/project
      push = HEAD:refs/for/master
      receivepack = git receive-pack --reviewer charlie@example.com --cc alice@example.com --cc bob@example.com

and now sending a new change for review to charlie, CC’ing both alice and bob is much easier:

    git push charlie

## SEE ALSO

- Uploading Changes

Part of Gerrit Code Review