OSDN Git Service

refs: inline function do_not_prune()
authorMichael Haggerty <mhagger@alum.mit.edu>
Mon, 22 Apr 2013 19:52:36 +0000 (21:52 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 1 May 2013 22:33:11 +0000 (15:33 -0700)
Function do_not_prune() was redundantly checking REF_ISSYMREF, which
was already tested at the top of pack_one_ref(), so remove that check.
And the rest was trivial, so inline the function.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c

diff --git a/refs.c b/refs.c
index 3465db6..b1c15fd 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -1996,14 +1996,6 @@ struct pack_refs_cb_data {
        FILE *refs_file;
 };
 
-static int do_not_prune(int flags)
-{
-       /* If it is already packed or if it is a symref,
-        * do not prune it.
-        */
-       return (flags & (REF_ISSYMREF|REF_ISPACKED));
-}
-
 static int pack_one_ref(struct ref_entry *entry, void *cb_data)
 {
        struct pack_refs_cb_data *cb = cb_data;
@@ -2031,7 +2023,8 @@ static int pack_one_ref(struct ref_entry *entry, void *cb_data)
                                sha1_to_hex(o->sha1));
        }
 
-       if ((cb->flags & PACK_REFS_PRUNE) && !do_not_prune(entry->flag)) {
+       /* If the ref was already packed, there is no need to prune it. */
+       if ((cb->flags & PACK_REFS_PRUNE) && !(entry->flag & REF_ISPACKED)) {
                int namelen = strlen(entry->name) + 1;
                struct ref_to_prune *n = xcalloc(1, sizeof(*n) + namelen);
                hashcpy(n->sha1, entry->u.value.sha1);