diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-04-25 10:41:17 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-04-25 10:41:17 +0300 |
commit | d4e568b2a31d7b2fe45dac9165bb077b570fc96a (patch) | |
tree | bff4affbf3e8c472cb914238eef19820d1ac4872 /remote-curl.c | |
parent | dae82ecf147c58c6862d349fb8421d81f5868616 (diff) | |
parent | cfb049119c9e8b8f66a2e1faf1621ac48f714412 (diff) |
Merge branch 'bc/hash-transition-16'
Conversion from unsigned char[20] to struct object_id continues.
* bc/hash-transition-16: (35 commits)
gitweb: make hash size independent
Git.pm: make hash size independent
read-cache: read data in a hash-independent way
dir: make untracked cache extension hash size independent
builtin/difftool: use parse_oid_hex
refspec: make hash size independent
archive: convert struct archiver_args to object_id
builtin/get-tar-commit-id: make hash size independent
get-tar-commit-id: parse comment record
hash: add a function to lookup hash algorithm by length
remote-curl: make hash size independent
http: replace sha1_to_hex
http: compute hash of downloaded objects using the_hash_algo
http: replace hard-coded constant with the_hash_algo
http-walker: replace sha1_to_hex
http-push: remove remaining uses of sha1_to_hex
http-backend: allow 64-character hex names
http-push: convert to use the_hash_algo
builtin/pull: make hash-size independent
builtin/am: make hash size independent
...
Diffstat (limited to 'remote-curl.c')
-rw-r--r-- | remote-curl.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/remote-curl.c b/remote-curl.c index 8bba57270b..a1bf4f68c7 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -250,7 +250,7 @@ static struct ref *parse_info_refs(struct discovery *heads) if (data[i] == '\t') mid = &data[i]; if (data[i] == '\n') { - if (mid - start != 40) + if (mid - start != the_hash_algo->hexsz) die(_("%sinfo/refs not valid: is this a git repository?"), transport_anonymize_url(url.buf)); data[i] = 0; @@ -1114,12 +1114,13 @@ static void parse_fetch(struct strbuf *buf) const char *name; struct ref *ref; struct object_id old_oid; + const char *q; - if (get_oid_hex(p, &old_oid)) + if (parse_oid_hex(p, &old_oid, &q)) die(_("protocol error: expected sha/ref, got %s'"), p); - if (p[GIT_SHA1_HEXSZ] == ' ') - name = p + GIT_SHA1_HEXSZ + 1; - else if (!p[GIT_SHA1_HEXSZ]) + if (*q == ' ') + name = q + 1; + else if (!*q) name = ""; else die(_("protocol error: expected sha/ref, got %s'"), p); |