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

Re: [PATCH 3/3] send-pack: assign remote errors to each ref

From
Jeff King <peff@peff.net>
Date
Nov 18, 2007, 05:00 UTC
Message-ID
<20071118050033.GA13097@sigill.intra.peff.net>
In-Reply-To
<7vwssgxir4.fsf@gitster.siamese.dyndns.org>
On Sat, Nov 17, 2007 at 08:47:11PM -0800, Junio C Hamano wrote:
Show 20 quoted lines
>>> +     for (ref = refs; ref; ref = ref->next) {
>>> +             const char *msg;
>>> +             if (prefixcmp(line, ref->name))
>>> +                     continue;
>>> +             msg = line + strlen(ref->name);
>>> +             if (*msg++ != ' ')
>>> +                     continue;
>>> +             ref->status = REF_STATUS_REMOTE_REJECT;
>>> +             ref->error = xstrdup(msg);
>>> +             ref->error[strlen(ref->error)-1] = '\0';
>>> +             return ref;
>>> +     }
>>> +     return NULL;
>>> +}
> > It is actually _just_ prefixcmp. Or do you mean the strlen we call in
> > prefixcmp? If so, I think the right solution is to make prefixcmp
> > faster.  :)
> I was referring to strlen(ref->name) taken for all refs during
> the loop.  Micro-optimized one finds the end of refname on the
> "ng" line once before entering the loop.

I don't see such a strlen, except in the implementation of prefixcmp, because we continue most of the time based on its result. If you have a false match on the prefixcmp (i.e., a prefix of another ref), you do an extra strlen.

But I don't think this is worth micro-optimizing.
-Peff
Previous: Junio C Hamano
Message 20 of 20 in “tracking per-ref errors on push”
  1. 0/3 tracking per-ref errors on pushJeff King, Nov 17, 2007
  2. 1/3 send-pack: track errors for each refJeff King, Nov 17, 2007
  3. Alex RiesenNov 17, 2007
  4. Daniel BarkalowNov 17, 2007
  5. Jeff KingNov 18, 2007
  6. Junio C HamanoNov 18, 2007
  7. Jeff KingNov 18, 2007
  8. Junio C HamanoNov 17, 2007
  9. Jeff KingNov 18, 2007
  10. 2/3 send-pack: check ref->status before updating tracking refsJeff King, Nov 17, 2007
  11. Alex RiesenNov 17, 2007
  12. Jeff KingNov 17, 2007
  13. Daniel BarkalowNov 17, 2007
  14. 3/3 send-pack: assign remote errors to each refJeff King, Nov 17, 2007
  15. Daniel BarkalowNov 17, 2007
  16. Jeff KingNov 18, 2007
  17. Junio C HamanoNov 18, 2007
  18. Jeff KingNov 18, 2007
  19. Junio C HamanoNov 18, 2007
  20. Jeff KingNov 18, 2007

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.