git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Tao Klerks via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Tao Klerks <tao@klerks.biz>
Subject: Re: [PATCH] rev-parse: documentation adjustment - mention remote tracking with @{u}
Date: Tue, 21 Jun 2022 09:19:40 -0700	[thread overview]
Message-ID: <xmqqbkumhtur.fsf@gitster.g> (raw)
In-Reply-To: <pull.1265.git.1655697671724.gitgitgadget@gmail.com> (Tao Klerks via GitGitGadget's message of "Mon, 20 Jun 2022 04:01:11 +0000")

"Tao Klerks via GitGitGadget" <gitgitgadget@gmail.com> writes:

>  '[<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.
> +  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`).

Let's refrain from inventing confusing new phrases that are not
defined in "git help glossary".

What is a "remote branch"?  I think this is better left as "the
branch", to avoid confusion with remote-tracking branch we keep
locally.  I think a version with a slight tweak, e.g.

        ... refers to the name of the branch (configured with
        `branch.<name>.merge`) at the remote (configured with
        `branch.<name>.remote`) that the branch is set to build on
        top of.

would be OK, though.

> ... 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/`).

Let's correct it to "remote-tracking branch".

But more importantly, the order of explanation feels a bit
backwards. Something like...

    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`.

... to cover both of the above, perhaps, may flow more naturally?

> ... 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.

>  '[<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 local tracking branch that corresponds to that remote branch.
>  +
>  Here's an example to make it more clear:
>  +
>
> base-commit: 5b71c59bc3b9365075e2a175aa7b6f2b0c84ce44

  reply	other threads:[~2022-06-21 16:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-20  4:01 Tao Klerks via GitGitGadget
2022-06-21 16:19 ` Junio C Hamano [this message]
2022-06-23  4:37   ` Tao Klerks
2022-06-23  5:01 ` [PATCH v2] " Tao Klerks via GitGitGadget

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqbkumhtur.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=tao@klerks.biz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).