Re: git push doesn't use local branch name as default
- From
Mathias Kunter <mathiaskunter@gmail.com>
- Date
- May 28, 2021, 07:44 UTC
- Message-ID
- <f9f38d42-2b93-0d3b-798b-4c6f44eb111d@gmail.com>
- In-Reply-To
- <CABPp-BEeqqGwN3=MbWCYnsyryBm3WoaX5GZyXTWy18UiYUT4zg@mail.gmail.com>
> you only get the "current" behavior when fetch_remote is non-NULL.
Well, then my suggestion actually is to also use the `current` behavior when fetch_remote is NULL - i.e. change
> return (fetch_remote && fetch_remote != remote);
to
> return (!fetch_remote || fetch_remote != remote);
I'd argue that if `simple` pushing is used, then the expected behavior of the command
> git push <remote_name>
on a branch without upstream would actually be to use the `current` behavior instead of bailing out with an error.
Am 28.05.21 um 09:00 schrieb Elijah Newren:
Show 29 quoted lines
> On Thu, May 27, 2021 at 11:39 PM Mathias Kunter <mathiaskunter@gmail.com> wrote: >> >> Felipe, >> >> thanks for your reply. >> >>> Sounds like you want to change the default to `push.default=current`. >> >> Yes, but shouldn't `simple` pushing also work? The documentation says >> about `push.default=simple`: >> >>> When pushing to a remote that is different from the remote you normally >>> pull from, work as `current`. > > Perhaps this wording should be clarified to read > > When you have a remote that you normally pull from but you are pushing > to a different remote then that one, then work as 'current'. > >> If there is no upstream, then there also is no "remote I normally pull >> from", and thus, according to the doc, `simple` should actually work >> like `current` in this case. Am I wrong here? > > The relevant code is > > return (fetch_remote && fetch_remote != remote); > > so you only get the "current" behavior when fetch_remote is non-NULL. >