author | Jeff King <peff@peff.net> | |
Sat, 17 Nov 2007 12:56:03 +0000 (07:56 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sat, 17 Nov 2007 20:10:50 +0000 (12:10 -0800) | ||
commit | ca74c458a3908314cf29b96f1c43fe2b2597de76 | |
tree | cedfe6678e2534fcbb563365775c63e12da51e0f | tree | snapshot |
parent | 1f0e2a1a65477c2b8eb8812e5bf0ad07bf03738e | commit | diff |
send-pack: assign remote errors to each ref
This lets us show remote errors (e.g., a denied hook) along
with the usual push output.
There is a slightly clever optimization in receive_status
that bears explanation. We need to correlate the returned
status and our ref objects, which naively could be an O(m*n)
operation. However, since the current implementation of
receive-pack returns the errors to us in the same order that
we sent them, we optimistically look for the next ref to be
looked up to come after the last one we have found. So it
should be an O(m+n) merge if the receive-pack behavior
holds, but we fall back to a correct but slower behavior if
it should change.
Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This lets us show remote errors (e.g., a denied hook) along
with the usual push output.
There is a slightly clever optimization in receive_status
that bears explanation. We need to correlate the returned
status and our ref objects, which naively could be an O(m*n)
operation. However, since the current implementation of
receive-pack returns the errors to us in the same order that
we sent them, we optimistically look for the next ref to be
looked up to come after the last one we have found. So it
should be an O(m+n) merge if the receive-pack behavior
holds, but we fall back to a correct but slower behavior if
it should change.
Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-send-pack.c | diff | blob | history | |
cache.h | diff | blob | history | |
t/t5406-remote-rejects.sh | [new file with mode: 0755] | blob |