aboutsummaryrefslogtreecommitdiff
path: root/pack-check.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-09-27 22:23:12 -0700
committerJunio C Hamano <junkio@cox.net>2006-09-27 22:23:12 -0700
commit2958d9b5dbebeb82e7230bbfd3f421781d90f3f7 (patch)
tree881c16a7442a1829d8959aee272f50065c53b582 /pack-check.c
parent194db7e3bbab9669c511133549e6ae74481c9a4f (diff)
parent51b2dd4e3f730f6be6c19faf3b4a04caea9e0420 (diff)
downloadgit-2958d9b5dbebeb82e7230bbfd3f421781d90f3f7.tar.gz
git-2958d9b5dbebeb82e7230bbfd3f421781d90f3f7.tar.xz
Merge branch 'master' into lj/refs
* master: (72 commits) runstatus: do not recurse into subdirectories if not needed grep: fix --fixed-strings combined with expression. grep: free expressions and patterns when done. Corrected copy-and-paste thinko in ignore executable bit test case. An illustration of rev-list --parents --pretty=raw Allow git-checkout when on a non-existant branch. gitweb: Decode long title for link tooltips git-svn: Fix fetch --no-ignore-externals with GIT_SVN_NO_LIB=1 Ignore executable bit when adding files if filemode=0. Remove empty ref directories that prevent creating a ref. Use const for interpolate arguments git-archive: update documentation Deprecate merge-recursive.py gitweb: fix over-eager application of esc_html(). Allow '(no author)' in git-svn's authors file. Allow 'svn fetch' on '(no date)' revisions in Subversion. git-repack: allow git-repack to run in subdirectory Remove upload-tar and make git-tar-tree a thin wrapper to git-archive git-tar-tree: Move code for git-archive --format=tar to archive-tar.c git-tar-tree: Remove duplicate git_config() call ...
Diffstat (limited to 'pack-check.c')
-rw-r--r--pack-check.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/pack-check.c b/pack-check.c
index 04c6c0082..c0caaee09 100644
--- a/pack-check.c
+++ b/pack-check.c
@@ -42,16 +42,16 @@ static int verify_packfile(struct packed_git *p)
*/
for (i = err = 0; i < nr_objects; i++) {
unsigned char sha1[20];
- struct pack_entry e;
void *data;
char type[20];
- unsigned long size;
+ unsigned long size, offset;
if (nth_packed_object_sha1(p, i, sha1))
die("internal error pack-check nth-packed-object");
- if (!find_pack_entry_one(sha1, &e, p))
+ offset = find_pack_entry_one(sha1, p);
+ if (!offset)
die("internal error pack-check find-pack-entry-one");
- data = unpack_entry_gently(&e, type, &size);
+ data = unpack_entry_gently(p, offset, type, &size);
if (!data) {
err = error("cannot unpack %s from %s",
sha1_to_hex(sha1), p->pack_name);
@@ -84,25 +84,26 @@ static void show_pack_info(struct packed_git *p)
for (i = 0; i < nr_objects; i++) {
unsigned char sha1[20], base_sha1[20];
- struct pack_entry e;
char type[20];
unsigned long size;
unsigned long store_size;
+ unsigned long offset;
unsigned int delta_chain_length;
if (nth_packed_object_sha1(p, i, sha1))
die("internal error pack-check nth-packed-object");
- if (!find_pack_entry_one(sha1, &e, p))
+ offset = find_pack_entry_one(sha1, p);
+ if (!offset)
die("internal error pack-check find-pack-entry-one");
- packed_object_info_detail(&e, type, &size, &store_size,
+ packed_object_info_detail(p, offset, type, &size, &store_size,
&delta_chain_length,
base_sha1);
printf("%s ", sha1_to_hex(sha1));
if (!delta_chain_length)
- printf("%-6s %lu %u\n", type, size, e.offset);
+ printf("%-6s %lu %lu\n", type, size, offset);
else {
- printf("%-6s %lu %u %u %s\n", type, size, e.offset,
+ printf("%-6s %lu %lu %u %s\n", type, size, offset,
delta_chain_length, sha1_to_hex(base_sha1));
if (delta_chain_length < MAX_CHAIN)
chain_histogram[delta_chain_length]++;