diff options
author | Junio C Hamano <junkio@cox.net> | 2005-12-25 23:18:37 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-12-27 18:04:14 -0800 |
commit | cfee10a773be0f8d0024f2567164c910d4213244 (patch) | |
tree | 7f8562e817c43a9b614d3cc1628e8321a2e63b09 /connect.c | |
parent | 9b88fcef7dd6327cc3aba3927e56fef6f6c4d628 (diff) | |
download | git-cfee10a773be0f8d0024f2567164c910d4213244.tar.gz git-cfee10a773be0f8d0024f2567164c910d4213244.tar.xz |
send-pack/receive-pack: allow errors to be reported back to pusher.
This updates the protocol between git-send-pack/git-receive-pack
in a backward compatible way to allow failures at the receiving
end to be propagated back to the sender. Most notably, versions
of git-push before this could not notice if the update hook on
the receiving end refused to update the ref for its own policy
reasons.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'connect.c')
-rw-r--r-- | connect.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -34,10 +34,6 @@ struct ref **get_remote_heads(int in, struct ref **list, die("protocol error: expected sha/ref, got '%s'", buffer); name = buffer + 41; - if (ignore_funny && 45 < len && !memcmp(name, "refs/", 5) && - check_ref_format(name + 5)) - continue; - name_len = strlen(name); if (len != name_len + 41) { if (server_capabilities) @@ -45,6 +41,10 @@ struct ref **get_remote_heads(int in, struct ref **list, server_capabilities = strdup(name + name_len + 1); } + if (ignore_funny && 45 < len && !memcmp(name, "refs/", 5) && + check_ref_format(name + 5)) + continue; + if (nr_match && !path_match(name, nr_match, match)) continue; ref = xcalloc(1, sizeof(*ref) + len - 40); |