git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] push: error out when the "upstream" semantics does not make sense

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 5, 2012, 20:01 UTC
Message-ID
<7vhawy54nd.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7vlima5591.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 19 quoted lines
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>> I worry that a beginner seeing this message would think it means that
>> when "master" is set up to track origin/master that there is no way to
>> push that branch to any other repository.
>>
>> Maybe something like
>>
>> 		die(_(
>> "You are pushing to remote '%s', which is not the upstream of your\n"
>> "current branch '%s', without specifying a refspec.\n"),
>> 		    remote->name, branch->name);
>>
>> would be harder to misunderstand.
>
> Perhaps.  Do we need to rephrase it without using the word 'refspec'
> (e.g. "without telling me what to push"), or there is no point avoiding
> jargon because other jargons (i.e. 'remote' and 'upstream') already appear
> in the sentence?
How about phrasing it this way?

Note that the short-looking first line (in the context) and the second line (updated) of the message are very much on purpose, to give '%s' enough room to expand without overflowing the usual terminal width.

 builtin/push.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/builtin/push.c b/builtin/push.c
index 765b19c..7a20036 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -99,7 +99,9 @@ static void setup_push_upstream(struct remote *remote)
 		    "refusing to push."), branch->name);
 	if (strcmp(branch->remote_name, remote->name))
 		die(_("You are pushing to remote '%s', which is not the "
-		      "upstream of your\ncurrent branch '%s'.\n"),
+		      "upstream of your\ncurrent branch '%s',\n"
+		      "without telling me to push which local branch to\n"
+		      " update which remote branch with."),
 		    remote->name, branch->name);
 
 	strbuf_addf(&refspec, "%s:%s", branch->name, branch->merge[0]->src);
Previous: Jonathan NiederNext: Jonathan Nieder
Message 7 of 11 in “What's cooking in git.git (Apr 2012, #02; Wed, 4)”
  1. Junio C HamanoApr 4, 2012
  2. Jeff KingApr 5, 2012
  3. push: error out when the "upstream" semantics does not make senseJunio C Hamano, Apr 5, 2012
  4. Jonathan NiederApr 5, 2012
  5. Junio C HamanoApr 5, 2012
  6. Jonathan NiederApr 5, 2012
  7. Junio C HamanoApr 5, 2012
  8. Jonathan NiederApr 5, 2012
  9. Matthieu MoyApr 5, 2012
  10. Junio C HamanoApr 5, 2012
  11. Matthieu MoyApr 6, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.