threads / patch / 18496

patchDocumentation: push.default applies to all remotes

Subject: [PATCH] Documentation: push.default applies to all remotes

## tl;dr

4 messages between Mar 23, 2009 and Mar 24, 2009. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Santi Béjar· Mar 23, 2009, 23:18 UTC · lore

push.default is not only for the current remote but setting the default behavior for all remotes.

Signed-off-by: Santi Béjar <santi@agolina.net>
---
Hi,
  this applies on top of next.
 Documentation/config.txt |   11 +++--------
 1 files changed, 3 insertions(+), 8 deletions(-)
Show changes to Documentation/config.txt +3 −8
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 089569a..7f5fe43 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1215,19 +1215,14 @@ push.default::
 	Defines the action git push should take if no refspec is given
 	on the command line, no refspec is configured in the remote, and
 	no refspec is implied by any of the options given on the command
-	line.
-+
-The term `current remote` means the remote configured for the current
-branch, or `origin` if no remote is configured. `origin` is also used
-if you are not on any branch. Possible values are:
+	line. Possible values are:
 +
 * `nothing` do not push anything.
-* `matching` push all matching branches to the current remote.
+* `matching` push all matching branches.
   All branches having the same name in both ends are considered to be
   matching. This is the current default value.
 * `tracking` push the current branch to the branch it is tracking.
-* `current` push the current branch to a branch of the same name on the
-  current remote.
+* `current` push the current branch to a branch of the same name.
 
 rebase.stat::
 	Whether to show a diffstat of what changed upstream since the last
-- 
1.6.1.258.g7ff14
Junio C Hamano· Mar 23, 2009, 23:32 UTC · re: Santi Béjar · lore

Re: [PATCH] Documentation: push.default applies to all remotes

Santi Béjar <santi@agolina.net> writes:
Show 39 quoted lines
> push.default is not only for the current remote but setting the default
> behavior for all remotes.
>
> Signed-off-by: Santi Béjar <santi@agolina.net>
> ---
> Hi,
>
>   this applies on top of next.
>
>  Documentation/config.txt |   11 +++--------
>  1 files changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 089569a..7f5fe43 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -1215,19 +1215,14 @@ push.default::
>  	Defines the action git push should take if no refspec is given
>  	on the command line, no refspec is configured in the remote, and
>  	no refspec is implied by any of the options given on the command
> -	line.
> -+
> -The term `current remote` means the remote configured for the current
> -branch, or `origin` if no remote is configured. `origin` is also used
> -if you are not on any branch. Possible values are:
> +	line. Possible values are:
>  +
>  * `nothing` do not push anything.
> -* `matching` push all matching branches to the current remote.
> +* `matching` push all matching branches.
>    All branches having the same name in both ends are considered to be
>    matching. This is the current default value.
>  * `tracking` push the current branch to the branch it is tracking.
> -* `current` push the current branch to a branch of the same name on the
> -  current remote.
> +* `current` push the current branch to a branch of the same name.
>  
>  rebase.stat::
>  	Whether to show a diffstat of what changed upstream since the last

This makes sense; I can understand why "same name" wanted to be qualified with "on the current remote", but the sentence reads just fine without it. It is clear that the "same name" compares the set of branches the local repository has with the set of branches in the other repository we are pushing into.

If we want to explain that a "git push" that does not say where-to decides where to push by looking at branch.<name>.remote configuration and falling back to origin, push.default is not the place to explain it. This configuration variable is not involved in that decision in any way.

The description for branch.<name>.remote can be updated to say it is used for both fetch and push.

Finn Arne Gangstad· Mar 24, 2009, 08:30 UTC · re: Junio C Hamano · lore

Re: [PATCH] Documentation: push.default applies to all remotes

On Mon, Mar 23, 2009 at 04:32:28PM -0700, Junio C Hamano wrote:
Show 46 quoted lines
> Santi Béjar <santi@agolina.net> writes:
> 
> > push.default is not only for the current remote but setting the default
> > behavior for all remotes.
> >
> > Signed-off-by: Santi Béjar <santi@agolina.net>
> > ---
> > Hi,
> >
> >   this applies on top of next.
> >
> >  Documentation/config.txt |   11 +++--------
> >  1 files changed, 3 insertions(+), 8 deletions(-)
> >
> > diff --git a/Documentation/config.txt b/Documentation/config.txt
> > index 089569a..7f5fe43 100644
> > --- a/Documentation/config.txt
> > +++ b/Documentation/config.txt
> > @@ -1215,19 +1215,14 @@ push.default::
> >  	Defines the action git push should take if no refspec is given
> >  	on the command line, no refspec is configured in the remote, and
> >  	no refspec is implied by any of the options given on the command
> > -	line.
> > -+
> > -The term `current remote` means the remote configured for the current
> > -branch, or `origin` if no remote is configured. `origin` is also used
> > -if you are not on any branch. Possible values are:
> > +	line. Possible values are:
> >  +
> >  * `nothing` do not push anything.
> > -* `matching` push all matching branches to the current remote.
> > +* `matching` push all matching branches.
> >    All branches having the same name in both ends are considered to be
> >    matching. This is the current default value.
> >  * `tracking` push the current branch to the branch it is tracking.
> > -* `current` push the current branch to a branch of the same name on the
> > -  current remote.
> > +* `current` push the current branch to a branch of the same name.
> >  
> >  rebase.stat::
> >  	Whether to show a diffstat of what changed upstream since the last
> [...]
> If we want to explain that a "git push" that does not say where-to decides
> where to push by looking at branch.<name>.remote configuration and falling
> back to origin, push.default is not the place to explain it.  This
> configuration variable is not involved in that decision in any way.

I originally had an option to push all tracking branches to their respective counterparts here, but decided against including it. Then it made sense to distinguish which options pushed to the current remote, and which did not. Since that option is gone, removing the extra text seems like an improvement.

- Finn Arne

← back to recent threads