1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-05 08:47:56 +01:00

Merge part of pack-thin branch

This commit is contained in:
Junio C Hamano 2006-02-23 03:00:59 -08:00
commit 207a1f3ce9

View file

@ -470,7 +470,7 @@ static int add_object_entry(const unsigned char *sha1, const char *name, int exc
struct packed_git *p; struct packed_git *p;
unsigned int found_offset = 0; unsigned int found_offset = 0;
struct packed_git *found_pack = NULL; struct packed_git *found_pack = NULL;
int ix; int ix, status = 0;
if (!exclude) { if (!exclude) {
for (p = packed_git; p; p = p->next) { for (p = packed_git; p; p = p->next) {
@ -516,6 +516,7 @@ static int add_object_entry(const unsigned char *sha1, const char *name, int exc
die("internal error in object hashing."); die("internal error in object hashing.");
object_ix[-1 - ix] = idx + 1; object_ix[-1 - ix] = idx + 1;
} }
status = 1;
already_added: already_added:
if (progress_update) { if (progress_update) {
@ -530,7 +531,7 @@ static int add_object_entry(const unsigned char *sha1, const char *name, int exc
entry->in_pack_offset = found_offset; entry->in_pack_offset = found_offset;
} }
} }
return 1; return status;
} }
static void add_pbase_tree(struct tree_desc *tree) static void add_pbase_tree(struct tree_desc *tree)
@ -548,7 +549,10 @@ static void add_pbase_tree(struct tree_desc *tree)
continue; continue;
if (sha1_object_info(sha1, type, &size)) if (sha1_object_info(sha1, type, &size))
continue; continue;
add_object_entry(sha1, name, 1);
if (!add_object_entry(sha1, name, 1))
continue;
if (!strcmp(type, "tree")) { if (!strcmp(type, "tree")) {
struct tree_desc sub; struct tree_desc sub;
void *elem; void *elem;
@ -570,8 +574,8 @@ static void add_preferred_base(unsigned char *sha1)
tree.buf = elem; tree.buf = elem;
if (!tree.buf) if (!tree.buf)
return; return;
add_object_entry(sha1, "", 1); if (add_object_entry(sha1, "", 1))
add_pbase_tree(&tree); add_pbase_tree(&tree);
free(elem); free(elem);
} }
@ -800,7 +804,7 @@ static int try_delta(struct unpacked *cur, struct unpacked *old, unsigned max_de
* already have a delta based on preferred * already have a delta based on preferred
* one is pointless. * one is pointless.
*/ */
return 0; return -1;
} }
else if (!old_preferred) else if (!old_preferred)
max_size = cur_entry->delta_size-1; max_size = cur_entry->delta_size-1;