All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Taylor Blau <me@ttaylorr.com>,
	Andreas Schwab <schwab@linux-m68k.org>,
	Fabien Terrani <terranifabien@gmail.com>,
	git@vger.kernel.org
Subject: Re: remote.<name>.merge missing from the git-config man page?
Date: Fri, 12 Mar 2021 23:59:23 -0800	[thread overview]
Message-ID: <YExw20PVRmwumMBx@google.com> (raw)
In-Reply-To: <xmqq5z1w542n.fsf@gitster.g>

Junio C Hamano wrote:

> From: Taylor Blau <me@ttaylorr.com>
> Date: Mon, 8 Mar 2021 13:43:47 -0500
> Subject: [PATCH] Documentation/git-push.txt: correct configuration typo
>
> In the EXAMPLES section, git-push(1) says that 'git push origin' pushes
> the current branch to the value of the 'remote.origin.merge'
> configuration.
>
> This wording (which dates back to b2ed944af7 (push: switch default from
> "matching" to "simple", 2013-01-04)) is incorrect. There is no such
> configuration as 'remote.<name>.merge'. This likely was originally
> intended to read "branch.<name>.merge" instead.
>
> Indeed, when 'push.default' is 'simple' (which is the default value, and
> is applicable in this scenario per "without additional configuration"),
> setup_push_upstream() dies if the branch's local name does not match
> 'branch.<name>.merge'.
>
> Correct this long-standing typo to resolve some recent confusion on the
> intended behavior of this example.
>
> Reported-by: Adam Sharafeddine <adam.shrfdn@gmail.com>
> Reported-by: Fabien Terrani <terranifabien@gmail.com>
> Signed-off-by: Taylor Blau <me@ttaylorr.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Documentation/git-push.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Looks good.
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>

> diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
> index ab103c82cf..a953c7c387 100644
> --- a/Documentation/git-push.txt
> +++ b/Documentation/git-push.txt
> @@ -600,7 +600,7 @@ EXAMPLES
>  
>  `git push origin`::
>  	Without additional configuration, pushes the current branch to
> -	the configured upstream (`remote.origin.merge` configuration
> +	the configured upstream (`branch.<name>.merge` configuration
>  	variable) if it has the same name as the current branch, and
>  	errors out without pushing otherwise.

From the discussion it seems this sentence has further room for
improvement, but that shouldn't block this straightforward typofix
patch.

A few ideas for further improvement:

- I think "the configured upstream" would read more clearly as "its
  configured upstream"

- the parenthesis could be a little clearer by adding a verb --- e.g.
  "as determined by the `branch.<name>.merge` configuration variable".
  Alternatively, is that implementation detail the right thing to
  mention?  Perhaps we could instead say something like "as configured
  using git branch --set-upstream-to" as a way to introduce the
  concept of a branch's upstream.

- the "it" in "it has the same name" is vague.  Does a branch's
  upstream represent the remote-tracking branch (e.g.,
  refs/remotes/origin/main) it merges or rebases against, or does it
  represent the remote branch (e.g., refs/heads/main in the remote
  repository pointed to by origin) it pulls from?

Putting those together, I could imagine something along the lines of

	Without additional configuration, this first checks that the
	current branch's configured upstream (see git-branch(1)
	--set-upstream-to) is a remote branch with the same name and
	then pushes there.  If there is no configured upstream or
	the configured upstream has a different name, it errors out
	without pushing.

Thanks,
Jonathan

  reply	other threads:[~2021-03-13  8:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-08 12:10 remote.<name>.merge missing from the git-config man page? Fabien Terrani
2021-03-08 16:57 ` Eric Sunshine
2021-03-08 17:27 ` Junio C Hamano
2021-03-08 18:43   ` Taylor Blau
2021-03-08 20:14     ` Andreas Schwab
2021-03-08 20:28       ` Taylor Blau
2021-03-08 20:41         ` Andreas Schwab
2021-03-08 20:45           ` Taylor Blau
2021-03-08 20:57             ` Andreas Schwab
2021-03-08 21:06               ` Taylor Blau
2021-03-08 21:58                 ` Andreas Schwab
2021-03-12 23:45                   ` Junio C Hamano
2021-03-13  7:59                     ` Jonathan Nieder [this message]
2021-03-08 21:20             ` Junio C Hamano

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

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

  git send-email \
    --in-reply-to=YExw20PVRmwumMBx@google.com \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=me@ttaylorr.com \
    --cc=schwab@linux-m68k.org \
    --cc=terranifabien@gmail.com \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.