From: Junio C Hamano Date: Tue, 25 Mar 2014 18:07:05 +0000 (-0700) Subject: Merge branch 'nd/indent-fix-connect-c' X-Git-Tag: v2.0.0-rc0~70 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/34a2e88ae28a58a3530e54a6194112c22f59c16a?ds=inline;hp=-c Merge branch 'nd/indent-fix-connect-c' * nd/indent-fix-connect-c: connect.c: SP after "}", not TAB --- 34a2e88ae28a58a3530e54a6194112c22f59c16a diff --combined connect.c index 4150412e2c,3140c12d3c..a983d061a9 --- a/connect.c +++ b/connect.c @@@ -8,7 -8,6 +8,7 @@@ #include "connect.h" #include "url.h" #include "string-list.h" +#include "sha1-array.h" static char *server_capabilities; static const char *parse_feature_value(const char *, const char *, int *); @@@ -46,6 -45,13 +46,6 @@@ int check_ref_type(const struct ref *re return check_ref(ref->name, strlen(ref->name), flags); } -static void add_extra_have(struct extra_have_objects *extra, unsigned char *sha1) -{ - ALLOC_GROW(extra->array, extra->nr + 1, extra->alloc); - hashcpy(&(extra->array[extra->nr][0]), sha1); - extra->nr++; -} - static void die_initial_contact(int got_at_least_one_head) { if (got_at_least_one_head) @@@ -116,8 -122,7 +116,8 @@@ static void annotate_refs_with_symref_i */ struct ref **get_remote_heads(int in, char *src_buf, size_t src_len, struct ref **list, unsigned int flags, - struct extra_have_objects *extra_have) + struct sha1_array *extra_have, + struct sha1_array *shallow_points) { struct ref **orig_list = list; int got_at_least_one_head = 0; @@@ -140,18 -145,9 +140,18 @@@ if (!len) break; - if (len > 4 && !prefixcmp(buffer, "ERR ")) + if (len > 4 && starts_with(buffer, "ERR ")) die("remote error: %s", buffer + 4); + if (len == 48 && starts_with(buffer, "shallow ")) { + if (get_sha1_hex(buffer + 8, old_sha1)) + die("protocol error: expected shallow sha-1, got '%s'", buffer + 8); + if (!shallow_points) + die("repository on the other end cannot be shallow"); + sha1_array_append(shallow_points, old_sha1); + continue; + } + if (len < 42 || get_sha1_hex(buffer, old_sha1) || buffer[40] != ' ') die("protocol error: expected sha/ref, got '%s'", buffer); name = buffer + 41; @@@ -164,7 -160,7 +164,7 @@@ if (extra_have && name_len == 5 && !memcmp(".have", name, 5)) { - add_extra_have(extra_have, old_sha1); + sha1_array_append(extra_have, old_sha1); continue; } @@@ -727,7 -723,7 +727,7 @@@ struct child_process *git_connect(int f *arg++ = port; } *arg++ = ssh_host; - } else { + } else { /* remove repo-local variables from the environment */ conn->env = local_repo_env; conn->use_shell = 1;