request-pull: documentation updates

The original description talked only about what it does.  Instead,
start it with the purpose of the command, i.e. what it is used for,
and then mention what it does to achieve that goal.

Clarify what <start>, <url> and <end> means in the context of the
overall purpose of the command.

Describe the extended syntax of <end> parameter that is used when
the local branch name is different from the branch name at the
repository the changes are published.

Helped-by: Eric Sunshine
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2014-03-12 11:04:11 -07:00
parent 5aae66bd99
commit ec445074e0

View File

@ -13,22 +13,65 @@ SYNOPSIS
DESCRIPTION DESCRIPTION
----------- -----------
Summarizes the changes between two commits to the standard output, and includes Generate a request asking your upstream project to pull changes into
the given URL in the generated summary. their tree. The request, printed to the standard output, summarizes
the changes and indicates from where they can be pulled.
The upstream project is expected to have the commit named by
`<start>` and the output asks it to integrate the changes you made
since that commit, up to the commit named by `<end>`, by visiting
the repository named by `<url>`.
OPTIONS OPTIONS
------- -------
-p:: -p::
Show patch text Include patch text in the output.
<start>:: <start>::
Commit to start at. Commit to start at. This names a commit that is already in
the upstream history.
<url>:: <url>::
URL to include in the summary. The repository URL to be pulled from.
<end>:: <end>::
Commit to end at; defaults to HEAD. Commit to end at (defaults to HEAD). This names the commit
at the tip of the history you are asking to be pulled.
+
When the repository named by `<url>` has the commit at a tip of a
ref that is different from the ref you have locally, you can use the
`<local>:<remote>` syntax, to have its local name, a colon `:`, and
its remote name.
EXAMPLE
-------
Imagine that you built your work on your `master` branch on top of
the `v1.0` release, and want it to be integrated to the project.
First you push that change to your public repository for others to
see:
git push https://git.ko.xz/project master
Then, you run this command:
git request-pull v1.0 https://git.ko.xz/project master
which will produce a request to the upstream, summarizing the
changes between the `v1.0` release and your `master`, to pull it
from your public repository.
If you pushed your change to a branch whose name is different from
the one you have locally, e.g.
git push https://git.ko.xz/project master:for-linus
then you can ask that to be pulled with
git request-pull v1.0 https://git.ko.xz/project master:for-linus
GIT GIT
--- ---