69928a6d06
Git doesn't want to modify the network protocol to support passing data from the git push client to the server. Work around this by embedding option data into a new style of reference specification: refs/for/master%r=alice,cc=bob,cc=charlie,topic=options is now parsed by the server as: - set topic to "options" - CC charlie and bob - add reviewer alice - for branch refs/heads/master If % is used the "extra information" after the branch name is parsed as options with args4j. Each option is delimited by ",". Selecting publish vs. draft should be done with options draft or publish, appearing anywhere in the refspec after the % marker: refs/for/master%draft refs/for/master%draft,r=alice refs/for/master%r=alice,draft refs/for/master%r=alice,publish Change-Id: I895bd1218c2099b5b45cac943039bbd12565370c
91 lines
2.3 KiB
Plaintext
91 lines
2.3 KiB
Plaintext
git-receive-pack
|
|
================
|
|
|
|
NAME
|
|
----
|
|
git-receive-pack - Receive what is pushed into the repository
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git receive-pack'
|
|
[--reviewer <address> | --re <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.
|
|
Deprecated, use `refs/for/branch%r=address` instead.
|
|
|
|
--cc <address>::
|
|
Carbon-copy <address> on the created or updated changes.
|
|
Deprecated, use `refs/for/branch%cc=address` instead.
|
|
|
|
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 ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com
|
|
=====
|
|
|
|
Send reviews, but tagging them with the topic name 'bug42':
|
|
=====
|
|
git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,topic=bug42
|
|
=====
|
|
|
|
Also CC two other parties:
|
|
=====
|
|
git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
|
|
=====
|
|
|
|
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%r=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%r=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]
|