From: Tao Klerks <tao@xxxxxxxxxx> The documentation explained the conversion from remote branch path to local tracking ref path for @{push}, but not for @{upstream}. Add the explanation to @{upstream}, and reference it in @{push} to avoid undue repetition. Signed-off-by: Tao Klerks <tao@xxxxxxxxxx> --- rev-parse: documentation adjustment - mention remote tracking with @{u} Small clarification in the doc for git rev-parse. Changes in V2: * Applied Junio's proposed simplification Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1265%2FTaoK%2Ftao-upstreak-doc-fix-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1265/TaoK/tao-upstreak-doc-fix-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/1265 Range-diff vs v1: 1: 58d2735d752 ! 1: 9e47e12e9cb rev-parse: documentation adjustment - mention remote tracking with @{u} @@ Commit message The documentation explained the conversion from remote branch path to local tracking ref path for @{push}, but not for @{upstream}. - Add the note to @{upstream}, and reference it in @{push} to avoid undue - repetition. + Add the explanation to @{upstream}, and reference it in @{push} to avoid + undue repetition. Signed-off-by: Tao Klerks <tao@xxxxxxxxxx> ## Documentation/revisions.txt ## @@ Documentation/revisions.txt: some output processing may assume ref names in UTF-8. + before the current one. '[<branchname>]@\{upstream\}', e.g. 'master@\{upstream\}', '@\{u\}':: - The suffix '@\{upstream\}' to a branchname (short form '<branchname>@\{u\}') +- The suffix '@\{upstream\}' to a branchname (short form '<branchname>@\{u\}') - refers to the branch that the branch specified by branchname is set to build on - top of (configured with `branch.<name>.remote` and - `branch.<name>.merge`). A missing branchname defaults to the - current one. These suffixes are also accepted when spelled in uppercase, and - they mean the same thing no matter the case. -+ refers to the remote branch that the branch specified by branchname -+ is set to build on top of (configured with `branch.<name>.remote` and -+ `branch.<name>.merge`). As `branch.<name>.merge` is the branch path on the -+ remote, it is first converted to a local tracking branch (i.e., something in -+ `refs/remotes/`). A missing branchname defaults to the current one. These -+ suffixes are also accepted when spelled in uppercase, and they mean the same -+ thing no matter the case. ++ A branch B may be set up to build on top of a branch X (configured with ++ `branch.<name>.merge`) at a remote R (configured with ++ `branch.<name>.remote`). B@{u} refers to the remote-tracking branch for ++ the branch X taken from remote R, typically found at `refs/remotes/R/X`. '[<branchname>]@\{push\}', e.g. 'master@\{push\}', '@\{push\}':: The suffix '@\{push}' reports the branch "where we would push to" if @@ Documentation/revisions.txt: some output processing may assume ref names in UTF- - in a remote repository, of course, we report the local tracking branch - that corresponds to that branch (i.e., something in `refs/remotes/`). + `HEAD` if no branchname is specified). Like for '@\{upstream\}', we report -+ the local tracking branch that corresponds to that remote branch. ++ the remote-tracking branch that corresponds to that branch at the remote. + Here's an example to make it more clear: + Documentation/revisions.txt | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt index f5f17b65a12..7fcfbcbac7e 100644 --- a/Documentation/revisions.txt +++ b/Documentation/revisions.txt @@ -96,19 +96,16 @@ some output processing may assume ref names in UTF-8. before the current one. '[<branchname>]@\{upstream\}', e.g. 'master@\{upstream\}', '@\{u\}':: - The suffix '@\{upstream\}' to a branchname (short form '<branchname>@\{u\}') - refers to the branch that the branch specified by branchname is set to build on - top of (configured with `branch.<name>.remote` and - `branch.<name>.merge`). A missing branchname defaults to the - current one. These suffixes are also accepted when spelled in uppercase, and - they mean the same thing no matter the case. + A branch B may be set up to build on top of a branch X (configured with + `branch.<name>.merge`) at a remote R (configured with + `branch.<name>.remote`). B@{u} refers to the remote-tracking branch for + the branch X taken from remote R, typically found at `refs/remotes/R/X`. '[<branchname>]@\{push\}', e.g. 'master@\{push\}', '@\{push\}':: The suffix '@\{push}' reports the branch "where we would push to" if `git push` were run while `branchname` was checked out (or the current - `HEAD` if no branchname is specified). Since our push destination is - in a remote repository, of course, we report the local tracking branch - that corresponds to that branch (i.e., something in `refs/remotes/`). + `HEAD` if no branchname is specified). Like for '@\{upstream\}', we report + the remote-tracking branch that corresponds to that branch at the remote. + Here's an example to make it more clear: + base-commit: 5b71c59bc3b9365075e2a175aa7b6f2b0c84ce44 -- gitgitgadget