summaryrefslogtreecommitdiff
path: root/index-pack.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-02-28 11:58:27 -0800
committerJunio C Hamano <junkio@cox.net>2007-02-28 11:58:27 -0800
commit597388f6a1c18a117904c307c20542d8a79a1fcd (patch)
tree035f1083845981205f2f73b5db158f1598c89d19 /index-pack.c
parentfbe3d87e5fcef2e0fff41c3b0589331c889dfb59 (diff)
parent66035a6b3d629b546daef3784f5351d58f4f17b1 (diff)
downloadgit-597388f6a1c18a117904c307c20542d8a79a1fcd.tar.gz
Merge branch 'np/types'
* np/types: Cleanup check_valid in commit-tree. make sure enum object_type is signed get rid of lookup_object_type() convert object type handling from a string to a number formalize typename(), and add its reverse type_from_string() sha1_file.c: don't ignore an error condition in sha1_loose_object_info() sha1_file.c: cleanup "offset" usage sha1_file.c: cleanup hdr usage
Diffstat (limited to 'index-pack.c')
-rw-r--r--index-pack.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/index-pack.c b/index-pack.c
index 48874a052a..9f8f0cad20 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -601,30 +601,23 @@ static void fix_unresolved_deltas(int nr_unresolved)
struct delta_entry *d = sorted_by_pos[i];
void *data;
unsigned long size;
- char type[10];
- enum object_type obj_type;
+ enum object_type type;
int j, first, last;
if (objects[d->obj_no].real_type != OBJ_REF_DELTA)
continue;
- data = read_sha1_file(d->base.sha1, type, &size);
+ data = read_sha1_file(d->base.sha1, &type, &size);
if (!data)
continue;
- if (!strcmp(type, blob_type)) obj_type = OBJ_BLOB;
- else if (!strcmp(type, tree_type)) obj_type = OBJ_TREE;
- else if (!strcmp(type, commit_type)) obj_type = OBJ_COMMIT;
- else if (!strcmp(type, tag_type)) obj_type = OBJ_TAG;
- else die("base object %s is of type '%s'",
- sha1_to_hex(d->base.sha1), type);
find_delta_children(&d->base, &first, &last);
for (j = first; j <= last; j++) {
struct object_entry *child = objects + deltas[j].obj_no;
if (child->real_type == OBJ_REF_DELTA)
- resolve_delta(child, data, size, obj_type);
+ resolve_delta(child, data, size, type);
}
- append_obj_to_pack(data, size, obj_type);
+ append_obj_to_pack(data, size, type);
free(data);
if (verbose)
percent = display_progress(nr_resolved_deltas,