]> git.ipfire.org Git - thirdparty/git.git/commitdiff
packfile.c: add repo_approximate_object_count()
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sat, 6 Apr 2019 11:34:23 +0000 (18:34 +0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 Apr 2019 08:26:32 +0000 (17:26 +0900)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
packfile.c
packfile.h

index 16bcb75262d918fc7b88cc5141213e951be145cc..2ad4fab2f8d101d6c23e020191802ce596ff66a7 100644 (file)
@@ -893,25 +893,25 @@ static void prepare_packed_git(struct repository *r);
  * all unreachable objects about to be pruned, in which case they're not really
  * interesting as a measure of repo size in the first place.
  */
-unsigned long approximate_object_count(void)
+unsigned long repo_approximate_object_count(struct repository *r)
 {
-       if (!the_repository->objects->approximate_object_count_valid) {
+       if (!r->objects->approximate_object_count_valid) {
                unsigned long count;
                struct multi_pack_index *m;
                struct packed_git *p;
 
-               prepare_packed_git(the_repository);
+               prepare_packed_git(r);
                count = 0;
-               for (m = get_multi_pack_index(the_repository); m; m = m->next)
+               for (m = get_multi_pack_index(r); m; m = m->next)
                        count += m->num_objects;
-               for (p = the_repository->objects->packed_git; p; p = p->next) {
+               for (p = r->objects->packed_git; p; p = p->next) {
                        if (open_pack_index(p))
                                continue;
                        count += p->num_objects;
                }
-               the_repository->objects->approximate_object_count = count;
+               r->objects->approximate_object_count = count;
        }
-       return the_repository->objects->approximate_object_count;
+       return r->objects->approximate_object_count;
 }
 
 static void *get_next_packed_git(const void *p)
index d70c6d9afb94c77c285fe8ee3237f7a40867157a..f04440f9840f499b7c9163b8ad595cdbb9a5e9c3 100644 (file)
@@ -57,7 +57,8 @@ struct packed_git *get_all_packs(struct repository *r);
  * Give a rough count of objects in the repository. This sacrifices accuracy
  * for speed.
  */
-unsigned long approximate_object_count(void);
+unsigned long repo_approximate_object_count(struct repository *r);
+#define approximate_object_count() repo_approximate_object_count(the_repository)
 
 extern struct packed_git *find_sha1_pack(const unsigned char *sha1,
                                         struct packed_git *packs);