aboutsummaryrefslogtreecommitdiff
path: root/builtin-count-objects.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-08-18 21:57:16 +0200
committerJunio C Hamano <gitster@pobox.com>2008-08-18 22:37:55 -0700
commitfdb2a2a600969598fd80f01b009fbbb020d596ab (patch)
tree935e08662721c94bf3d4aabf2542653ae16bd20a /builtin-count-objects.c
parent2ebc02d32a4360da2cf69c2b5f5bfad0716d42b0 (diff)
downloadgit-fdb2a2a600969598fd80f01b009fbbb020d596ab.tar.gz
git-fdb2a2a600969598fd80f01b009fbbb020d596ab.tar.xz
compat: introduce on_disk_bytes()
Some platforms do not have st_blocks member in "struct stat"; mingw already emulates it by rounding it up to closest 512-byte blocks (even though it could overcount when a file has holes). The reason to use the member is only to figure out how many kilobytes the files occupy on-disk, so give a helper function in git-compat-util.h to compute this value. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Johannes Sixt <johannes.sixt@telecom.at>
Diffstat (limited to 'builtin-count-objects.c')
-rw-r--r--builtin-count-objects.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin-count-objects.c b/builtin-count-objects.c
index 91b548747..a1c9eb41c 100644
--- a/builtin-count-objects.c
+++ b/builtin-count-objects.c
@@ -43,7 +43,7 @@ static void count_objects(DIR *d, char *path, int len, int verbose,
if (lstat(path, &st) || !S_ISREG(st.st_mode))
bad = 1;
else
- (*loose_size) += xsize_t(st.st_blocks);
+ (*loose_size) += xsize_t(on_disk_bytes(st));
}
if (bad) {
if (verbose) {
@@ -115,7 +115,7 @@ int cmd_count_objects(int argc, const char **argv, const char *prefix)
num_pack++;
}
printf("count: %lu\n", loose);
- printf("size: %lu\n", loose_size / 2);
+ printf("size: %lu\n", loose_size / 1024);
printf("in-pack: %lu\n", packed);
printf("packs: %lu\n", num_pack);
printf("prune-packable: %lu\n", packed_loose);