summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-06-27 03:33:33 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 15:27:51 -0700
commitc4584ae3fd7cd595a638a07dfd853e9d2745e930 (patch)
tree735d3d7612055565941f98219ff862ce24ef2c78 /object.c
parentee85cbc6887d6ae4eb09a3e2c7319f66ae7c9034 (diff)
downloadgit-c4584ae3fd7cd595a638a07dfd853e9d2745e930.tar.gz
[PATCH] Remove "delta" object representation.
Packed delta files created by git-pack-objects seems to be the way to go, and existing "delta" object handling code has exposed the object representation details to too many places. Remove it while we refactor code to come up with a proper interface in sha1_file.c. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'object.c')
-rw-r--r--object.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/object.c b/object.c
index 21f872ee16..c410e97c8f 100644
--- a/object.c
+++ b/object.c
@@ -4,7 +4,6 @@
#include "commit.h"
#include "cache.h"
#include "tag.h"
-#include "delta.h"
struct object **objs;
int nr_objs;
@@ -116,25 +115,14 @@ struct object *lookup_object_type(const unsigned char *sha1, const char *type)
struct object *parse_object(const unsigned char *sha1)
{
- unsigned long mapsize;
- void *map = map_sha1_file(sha1, &mapsize);
- if (map) {
- int is_delta;
+ unsigned long size;
+ char type[20];
+ void *buffer = read_sha1_file(sha1, type, &size);
+ if (buffer) {
struct object *obj;
- char type[100];
- unsigned long size;
- void *buffer = unpack_sha1_file(map, mapsize, type, &size);
- munmap(map, mapsize);
- if (!buffer)
- return NULL;
- is_delta = !strcmp(type, "delta");
- if (!is_delta && check_sha1_signature(sha1, buffer, size, type) < 0)
+ if (check_sha1_signature(sha1, buffer, size, type) < 0)
printf("sha1 mismatch %s\n", sha1_to_hex(sha1));
- if (is_delta) {
- struct delta *delta = lookup_delta(sha1);
- parse_delta_buffer(delta, buffer, size);
- obj = (struct object *) delta;
- } else if (!strcmp(type, "blob")) {
+ if (!strcmp(type, "blob")) {
struct blob *blob = lookup_blob(sha1);
parse_blob_buffer(blob, buffer, size);
obj = &blob->object;