gerrit/Documentation/cmd-receive-pack.txt
Shawn O. Pearce d50c94e759 Support topic branch tags on changes
The topic tag can be attached to a change during upload by suffixing
the 'refs/for/branch_name' with the topic label, treating the branch
as though it were a directory.

For example, to tag 'exp/nosql' onto a change headed for the
'sandbox/future-stuff' branch, git push can be used as:

  git push URL HEAD:refs/for/sandbox/future-stuff/exp-nosql

If the topic is supplied, it is displayed in the branch column of
a change, in parens.  If no topic was set, only the branch is shown.

Bug: issue 51
Change-Id: I07d6c137fc9aefa8c1ee1652bf1e7bcde9d33674
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-07-15 13:04:38 -07:00

106 lines
3.1 KiB
Plaintext

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]