summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2011-10-17 04:38:09 +0200
committerJunio C Hamano <gitster@pobox.com>2011-10-16 21:11:33 -0700
commit760c4512e54e524e3a19905c10a65209fda20c12 (patch)
tree201737d0020954ada26b548cee4796aae2d1b525
parent1b7edaf94bf03eed4092d6f8bc8815fa42292685 (diff)
downloadgit-760c4512e54e524e3a19905c10a65209fda20c12.tar.gz
clear_ref_cache(): extract two new functions
Extract two new functions from clear_cached_refs(): clear_loose_ref_cache() and clear_packed_ref_cache(). Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--refs.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/refs.c b/refs.c
index 623d67342a..2a21dc3443 100644
--- a/refs.c
+++ b/refs.c
@@ -158,13 +158,24 @@ static void free_ref_array(struct ref_array *array)
array->refs = NULL;
}
-static void clear_ref_cache(struct ref_cache *refs)
+static void clear_packed_ref_cache(struct ref_cache *refs)
{
- if (refs->did_loose)
- free_ref_array(&refs->loose);
if (refs->did_packed)
free_ref_array(&refs->packed);
- refs->did_loose = refs->did_packed = 0;
+ refs->did_packed = 0;
+}
+
+static void clear_loose_ref_cache(struct ref_cache *refs)
+{
+ if (refs->did_loose)
+ free_ref_array(&refs->loose);
+ refs->did_loose = 0;
+}
+
+static void clear_ref_cache(struct ref_cache *refs)
+{
+ clear_packed_ref_cache(refs);
+ clear_loose_ref_cache(refs);
}
static struct ref_cache *create_ref_cache(const char *submodule)