summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2013-02-15 12:07:10 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-02-15 16:13:13 (GMT)
commit543c5caa6c93bb3d42545aeef334c6a175384db8 (patch)
tree128ccf475112ea1a0bef93cc17f348dd5f2d368d /cache.h
parentd90906a90265fa1df34a7f155fe41b1393679fc4 (diff)
downloadgit-543c5caa6c93bb3d42545aeef334c6a175384db8.zip
git-543c5caa6c93bb3d42545aeef334c6a175384db8.tar.gz
git-543c5caa6c93bb3d42545aeef334c6a175384db8.tar.bz2
count-objects: report garbage files in pack directory too
prepare_packed_git_one() is modified to allow count-objects to hook a report function to so we don't need to duplicate the pack searching logic in count-objects.c. When report_pack_garbage is NULL, the overhead is insignificant. The garbage is reported with warning() instead of error() in packed garbage case because it's not an error to have garbage. Loose garbage is still reported as errors and will be converted to warnings later. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index e493563..82af219 100644
--- a/cache.h
+++ b/cache.h
@@ -1057,6 +1057,9 @@ extern const char *parse_feature_value(const char *feature_list, const char *fea
extern struct packed_git *parse_pack_index(unsigned char *sha1, const char *idx_path);
+/* A hook for count-objects to report invalid files in pack directory */
+extern void (*report_garbage)(const char *desc, const char *path);
+
extern void prepare_packed_git(void);
extern void reprepare_packed_git(void);
extern void install_packed_git(struct packed_git *pack);