pack-refs: teach pack-refs --include option
Allow users to be more selective over which refs to pack by adding an
--include option to git-pack-refs.
The existing options allow some measure of selectivity. By default
git-pack-refs packs all tags. --all can be used to include all refs,
and the previous commit added the ability to exclude certain refs with
--exclude.
While these knobs give the user some selection over which refs to pack,
it could be useful to give more control. For instance, a repository may
have a set of branches that are rarely updated and would benefit from
being packed. --include would allow the user to easily include a set of
branches to be packed while leaving everything else unpacked.
Signed-off-by: John Cai <johncai86@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/refs.h b/refs.h
index 46020bd..933fdeb 100644
--- a/refs.h
+++ b/refs.h
@@ -66,6 +66,7 @@ struct worktree;
struct pack_refs_opts {
unsigned int flags;
struct ref_exclusions *exclusions;
+ struct string_list *includes;
};
const char *refs_resolve_ref_unsafe(struct ref_store *refs,