[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>
This commit is contained in:
Junio C Hamano
2005-06-27 03:33:33 -07:00
committed by Linus Torvalds
parent ee85cbc688
commit c4584ae3fd
25 changed files with 22 additions and 948 deletions

View File

@ -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;