git-receive-pack
================

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

SYNOPSIS
--------
[verse]
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.

\--re <address>::
\--reviewer <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
--------

* link:user-upload.html[Uploading Changes]

GERRIT
------
Part of link:index.html[Gerrit Code Review]
