Subject: Re: [PATCH v2] docs: update description for '--mirror' option for 'git push'

From: Junio C Hamano <[email-masked]>
Date: Tue, 16 Sep 2025 10:19:08 -0700

"Gustavo Velasco-Hernández via GitGitGadget"
<[email-masked]> writes:

> From: "Velasco-Hernandez, Gustavo" <[email-masked]>
> Signed-off-by: Gustavo Velasco-Hernandez <[email-masked]>

For this project to use a patch, these two must match.

Please decide, under which name do you want to be known as to this
community.  Once you decide, please use that chosen name to
configure user.name and user.email for the repository you use to
work on Git, amend the commit and update the sign-off using the same
identity, and the force push to GitGitGadget to /submit (I am not
sure about the last two steps as I am not a GGG user)?

> The current description considers only created, updated or deleted refs
> locally. However it does not address the case where new refs were created
> on the remote end, in which case, are also deleted. The description has
> been reworded to describe what is removed, updated or added. (Based on
> Junio feedback)

Drop "(Based on Junio feedback)" that is not even grammatical ;-)
If you want to credit others, it is common to say

    Helped-by: ...

just before your own sign-off.  See an example like

https://lore.kernel.org/git/[email-masked]/

(by the way, oh, gee, that's an unwieldy long message ID).

>  Documentation/git-push.adoc | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/git-push.adoc b/Documentation/git-push.adoc
> index 5f5408e2c0..77ce4a27c8 100644
> --- a/Documentation/git-push.adoc
> +++ b/Documentation/git-push.adoc
> @@ -163,12 +163,11 @@ already exists on the remote side.
>  	Instead of naming each ref to push, specifies that all
>  	refs under `refs/` (which includes but is not
>  	limited to `refs/heads/`, `refs/remotes/`, and `refs/tags/`)
> -	be mirrored to the remote repository.  Newly created local
> -	refs will be pushed to the remote end, locally updated refs
> -	will be force updated on the remote end, and deleted refs
> -	will be removed from the remote end.  This is the default
> -	if the configuration option `remote.<remote>.mirror` is
> -	set.
> +	be mirrored to the remote repository. This overwrites the
> +	refs at the remote by (1) removing what is only at the remote,
> +	(2) force-updating what both ends of the connection have, and
> +	(3) adding what only exists locally. This is the default if
> +	the configuration option `remote.<remote>.mirror` is set.

Reads very clearly.  Thanks.