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

Re: [PATCH 0/3] push: detect local refspec errors early

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 5, 2014, 20:51 UTC
Message-ID
<xmqqsiqwfjyd.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20140305190248.GB31252@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 8 quoted lines
> We can't fully process the refspecs until we have talked to the other
> side, because they may involve matching refs from the remote; I don't
> think git even really looks at them until after we've connected.
>
> But I think there are some obvious cases, like a bogus left-hand side
> (i.e., what you have here) that cannot ever succeed, no matter what the
> other side has. We could sanity check the refspecs before doing anything
> else.

The user's wallclock time is more important than machine cycles, checking things we could check before having the user do things is a good principle to follow.

I wish that the solution did not have to involve doing the same computation twice, but I do not think there is a clean way around that in this codepath.

Thanks.
Previous: Jeff KingNext: Jeff King
Message 6 of 7 in “git push first asks for credentials, then checks the branch exists”
  1. DmitryMar 5, 2014
  2. 0/3 push: detect local refspec errors earlyJeff King, Mar 5, 2014
  3. 1/3 match_explicit: hoist refspec lhs checks into their own functionJeff King, Mar 5, 2014
  4. 2/3 match_explicit_lhs: allow a "verify only" modeJeff King, Mar 5, 2014
  5. 3/3 push: detect local refspec errors earlyJeff King, Mar 5, 2014
  6. Junio C HamanoMar 5, 2014
  7. Jeff KingMar 5, 2014

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.