Extract two new functions from clear_cached_refs(): clear_loose_ref_cache() and clear_packed_ref_cache(). Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> --- refs.c | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/refs.c b/refs.c index 9f004ce..6e480ad 100644 --- a/refs.c +++ b/refs.c @@ -175,14 +175,26 @@ static void free_ref_list(struct ref_list *list) } } -static void clear_cached_refs(struct cached_refs *refs) +static void clear_cached_packed_refs(struct cached_refs *refs) { - if (refs->did_loose && refs->loose) - free_ref_list(refs->loose); if (refs->did_packed && refs->packed) free_ref_list(refs->packed); - refs->loose = refs->packed = NULL; - refs->did_loose = refs->did_packed = 0; + refs->packed = NULL; + refs->did_packed = 0; +} + +static void clear_cached_loose_refs(struct cached_refs *refs) +{ + if (refs->did_loose && refs->loose) + free_ref_list(refs->loose); + refs->loose = NULL; + refs->did_loose = 0; +} + +static void clear_cached_refs(struct cached_refs *refs) +{ + clear_cached_packed_refs(refs); + clear_cached_loose_refs(refs); } static struct cached_refs *create_cached_refs(const char *submodule) -- 1.7.7.rc2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html