login
Header Space

 
 

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

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jeff King <peff@...>
Cc: <git@...>, Alex Riesen <raa.lkml@...>, Pierre Habouzit <madcoder@...>, Daniel Barkalow <barkalow@...>
Date: Saturday, November 17, 2007 - 9:03 pm

Jeff King <peff@peff.net> writes:


It probably would not matter for sane repositories, but with
thousands of refs, strlen() and prefixcmp() may start to hurt:

	struct ref *ref;
	int reflen;
	const char *msg = strchr(line, ' ');

        if (!msg)
        	return NULL;
	reflen = msg - line;
	msg++;
	for (ref = refs; ref; ref = ref->next) {
        	if (strncmp(line, ref->name, reflen) || line[reflen] != ' ')
			continue;
		...
		return ref->next;
	}
	return NULL;

but the "hint" optimization probably make the above
micro-optimization irrelevant.


It is preferred to have a multi-line comment like this:

	/*
         * A return value of -1 ...
	 * ...
	 * ... couldn't even get that far.
	 */


Clever... taking advantage of the order receive-pack reports to
optimize.

Before receive_status() is called, can the refs already have the
error status and string set?


Hmm.  When we did not receive status, we cannot tell what
succeeded or failed, but what we _can_ tell the user is which
refs we attempted to push.  I wonder if robbing that information
from the user with this "return -1" is a good idea.  Perhaps we
would instead want to set the status of all the refs to error
and call print_push_status() anyway?  I dunno.


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH v3 0/3] tracking per-ref errors on push, Jeff King, (Sat Nov 17, 8:53 am)
Re: [PATCH 3/3] send-pack: assign remote errors to each ref, Junio C Hamano, (Sat Nov 17, 9:03 pm)
Re: [PATCH 3/3] send-pack: assign remote errors to each ref, Junio C Hamano, (Sun Nov 18, 12:47 am)
Re: [PATCH 3/3] send-pack: assign remote errors to each ref, Daniel Barkalow, (Sat Nov 17, 2:05 pm)
[PATCH 1/3] send-pack: track errors for each ref, Jeff King, (Sat Nov 17, 8:54 am)
Re: [PATCH 1/3] send-pack: track errors for each ref, Junio C Hamano, (Sat Nov 17, 4:53 pm)
Re: [PATCH 1/3] send-pack: track errors for each ref, Daniel Barkalow, (Sat Nov 17, 2:05 pm)
Re: [PATCH 1/3] send-pack: track errors for each ref, Junio C Hamano, (Sat Nov 17, 9:21 pm)
Re: [PATCH 1/3] send-pack: track errors for each ref, Jeff King, (Sat Nov 17, 11:12 pm)
Re: [PATCH 1/3] send-pack: track errors for each ref, Alex Riesen, (Sat Nov 17, 9:34 am)
speck-geostationary