Note that git itself also claims this should be working. If I do a "git
push" on a branch without upstream, I will get:
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using
git remote add <name> <url>
and then push using the remote name
git push <name>
However, the advised "git push <name>" command won't work on that branch
with the default settings of Git. To make it work, `simple` pushing
would have to use `current` behavior on a branch without upstream.
Please consider changing that. Thank you.
Cheers
Mathias Kunter
Am 28.05.21 um 09:44 schrieb Mathias Kunter:
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:
On Thu, May 27, 2021 at 11:39 PM Mathias Kunter
<mathiaskunter@xxxxxxxxx> 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.