diff options
author | 2015-12-10 12:36:13 -0800 | |
---|---|---|
committer | 2015-12-10 12:36:13 -0800 | |
commit | 844a9ce47208de173341525c15a4c8c689dd278e (patch) | |
tree | d771915b28609179ddf1f3f911bcb30b7019d7cf /builtin/fetch-pack.c | |
parent | Merge branch 'dt/fsck-verify-pack-error' (diff) | |
parent | remote: convert functions to struct object_id (diff) | |
download | tgif-844a9ce47208de173341525c15a4c8c689dd278e.tar.xz |
Merge branch 'bc/object-id'
More transition from "unsigned char[40]" to "struct object_id".
This needed a few merge fixups, but is mostly disentangled from other
topics.
* bc/object-id:
remote: convert functions to struct object_id
Remove get_object_hash.
Convert struct object to object_id
Add several uses of get_object_hash.
object: introduce get_object_hash macro.
ref_newer: convert to use struct object_id
push_refs_with_export: convert to struct object_id
get_remote_heads: convert to struct object_id
parse_fetch: convert to use struct object_id
add_sought_entry_mem: convert to struct object_id
Convert struct ref to use object_id.
sha1_file: introduce has_object_file helper.
Diffstat (limited to 'builtin/fetch-pack.c')
-rw-r--r-- | builtin/fetch-pack.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index 4a6b340ab6..cf3019e05b 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -14,12 +14,14 @@ static void add_sought_entry_mem(struct ref ***sought, int *nr, int *alloc, const char *name, int namelen) { struct ref *ref = xcalloc(1, sizeof(*ref) + namelen + 1); - unsigned char sha1[20]; - - if (namelen > 41 && name[40] == ' ' && !get_sha1_hex(name, sha1)) { - hashcpy(ref->old_sha1, sha1); - name += 41; - namelen -= 41; + struct object_id oid; + const int chunksz = GIT_SHA1_HEXSZ + 1; + + if (namelen > chunksz && name[chunksz - 1] == ' ' && + !get_oid_hex(name, &oid)) { + oidcpy(&ref->old_oid, &oid); + name += chunksz; + namelen -= chunksz; } memcpy(ref->name, name, namelen); @@ -210,7 +212,7 @@ int cmd_fetch_pack(int argc, const char **argv, const char *prefix) while (ref) { printf("%s %s\n", - sha1_to_hex(ref->old_sha1), ref->name); + oid_to_hex(&ref->old_oid), ref->name); ref = ref->next; } |