From: Michael Haggerty Date: Tue, 10 Nov 2015 11:42:34 +0000 (+0100) Subject: pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref() X-Git-Tag: v2.7.0-rc0~9^2~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a935ebd4a7df505da819371ef10add6ad7bd77d7;p=git pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref() is_per_worktree_ref() will soon be made private, so use the public interface, ref_type(), in its place. And now that we're using ref_type(), we can make it clear that we won't pack pseudorefs. This was the case before, but due to the not-so-obvious reason that this function is applied to references via the loose reference cache, which only includes references that live inside "refs/". Signed-off-by: Michael Haggerty Signed-off-by: Jeff King --- diff --git a/refs.c b/refs.c index 480de9ac92..82129f06e2 100644 --- a/refs.c +++ b/refs.c @@ -2671,8 +2671,6 @@ struct pack_refs_cb_data { struct ref_to_prune *ref_to_prune; }; -static int is_per_worktree_ref(const char *refname); - /* * An each_ref_entry_fn that is run over loose references only. If * the loose reference can be packed, add an entry in the packed ref @@ -2687,7 +2685,7 @@ static int pack_if_possible_fn(struct ref_entry *entry, void *cb_data) int is_tag_ref = starts_with(entry->name, "refs/tags/"); /* Do not pack per-worktree refs: */ - if (is_per_worktree_ref(entry->name)) + if (ref_type(entry->name) != REF_TYPE_NORMAL) return 0; /* ALWAYS pack tags */