summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-06-27 10:33:33 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 22:27:51 (GMT)
commitc4584ae3fd7cd595a638a07dfd853e9d2745e930 (patch)
tree735d3d7612055565941f98219ff862ce24ef2c78 /object.c
parentee85cbc6887d6ae4eb09a3e2c7319f66ae7c9034 (diff)
downloadgit-c4584ae3fd7cd595a638a07dfd853e9d2745e930.zip
git-c4584ae3fd7cd595a638a07dfd853e9d2745e930.tar.gz
git-c4584ae3fd7cd595a638a07dfd853e9d2745e930.tar.bz2
[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 21f872e..c410e97 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;