From dddafffef66041689f54837ac8e9bf717bb057b4 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Wed, 29 Jun 2005 09:53:20 -0700 Subject: [PATCH] Re-instate dry-run logic in git-unpack-objects It can no longer be as verbose, since it doesn't have a good way to resolve deltas (now that it is purely streaming, it cannot seek around to read the objects a delta is based on). But it can check that the thing unpacks cleanly at least as far as pack syntax goes - all the objects uncompress cleanly, and the pack has the right final SHA1. --- unpack-objects.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/unpack-objects.c b/unpack-objects.c index 0d15c003..97d26818 100644 --- a/unpack-objects.c +++ b/unpack-objects.c @@ -155,7 +155,8 @@ static int unpack_non_delta_entry(enum object_type kind, unsigned long size) case OBJ_TAG: type = "tag"; break; default: die("bad type %d", kind); } - write_object(buf, size, type); + if (!dry_run) + write_object(buf, size, type); free(buf); return 0; } @@ -171,6 +172,10 @@ static int unpack_delta_entry(unsigned long delta_size) use(20); delta_data = get_data(delta_size); + if (dry_run) { + free(delta_data); + return 0; + } if (!has_sha1_file(base_sha1)) { add_delta_to_list(base_sha1, delta_data, delta_size); -- 2.11.0