diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-07-18 19:20:30 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-07-18 19:20:30 (GMT) |
commit | ad7b8a7c5af3d47b746c9347baca8d4521c9633d (patch) | |
tree | 2e0fd93a40591429ed025521e77bb7266666da8e /builtin | |
parent | a4d4427bc6c9acefe7803d204b4bdca3cd4059a0 (diff) | |
parent | f3c23db2d7e764b247f7d76a8d0ba180811e9525 (diff) | |
download | git-ad7b8a7c5af3d47b746c9347baca8d4521c9633d.zip git-ad7b8a7c5af3d47b746c9347baca8d4521c9633d.tar.gz git-ad7b8a7c5af3d47b746c9347baca8d4521c9633d.tar.bz2 |
Merge branch 'jt/remove-pack-bitmap-global'
The effort to move globals to per-repository in-core structure
continues.
* jt/remove-pack-bitmap-global:
pack-bitmap: add free function
pack-bitmap: remove bitmap_git global variable
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/pack-objects.c | 7 | ||||
-rw-r--r-- | builtin/rev-list.c | 13 |
2 files changed, 14 insertions, 6 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 69d3d7b..ebc8cef 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -2929,11 +2929,13 @@ static int pack_options_allow_reuse(void) static int get_object_list_from_bitmap(struct rev_info *revs) { - if (prepare_bitmap_walk(revs) < 0) + struct bitmap_index *bitmap_git; + if (!(bitmap_git = prepare_bitmap_walk(revs))) return -1; if (pack_options_allow_reuse() && !reuse_partial_packfile_from_bitmap( + bitmap_git, &reuse_packfile, &reuse_packfile_objects, &reuse_packfile_offset)) { @@ -2942,7 +2944,8 @@ static int get_object_list_from_bitmap(struct rev_info *revs) display_progress(progress_state, nr_result); } - traverse_bitmap_commit_list(&add_object_entry_from_bitmap); + traverse_bitmap_commit_list(bitmap_git, &add_object_entry_from_bitmap); + free_bitmap_index(bitmap_git); return 0; } diff --git a/builtin/rev-list.c b/builtin/rev-list.c index e9bd4e3..6fcb0ff 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -17,6 +17,7 @@ #include "reflog-walk.h" #include "oidset.h" #include "packfile.h" +#include "object-store.h" static const char rev_list_usage[] = "git rev-list [OPTION] <commit-id>... [ -- paths... ]\n" @@ -515,17 +516,21 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix) if (revs.count && !revs.left_right && !revs.cherry_mark) { uint32_t commit_count; int max_count = revs.max_count; - if (!prepare_bitmap_walk(&revs)) { - count_bitmap_commit_list(&commit_count, NULL, NULL, NULL); + struct bitmap_index *bitmap_git; + if ((bitmap_git = prepare_bitmap_walk(&revs))) { + count_bitmap_commit_list(bitmap_git, &commit_count, NULL, NULL, NULL); if (max_count >= 0 && max_count < commit_count) commit_count = max_count; printf("%d\n", commit_count); + free_bitmap_index(bitmap_git); return 0; } } else if (revs.max_count < 0 && revs.tag_objects && revs.tree_objects && revs.blob_objects) { - if (!prepare_bitmap_walk(&revs)) { - traverse_bitmap_commit_list(&show_object_fast); + struct bitmap_index *bitmap_git; + if ((bitmap_git = prepare_bitmap_walk(&revs))) { + traverse_bitmap_commit_list(bitmap_git, &show_object_fast); + free_bitmap_index(bitmap_git); return 0; } } |