[PATCH 2/2] invalidate_cached_refs(): expose this function in refs API
From: Michael Haggerty <hidden>
Date: 2016-06-15 22:52:13
Subsystem:
the rest · Maintainer:
Linus Torvalds
Make invalidate_cached_refs() an official part of the refs API. It is currently a fact of life that code outside of refs.c mucks about with references. This change gives such code a way of informing the refs module that it should no longer trust its cache. Signed-off-by: Michael Haggerty <redacted> --- refs.c | 2 +- refs.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/refs.c b/refs.c
index 49b73c4..0483ecc 100644
--- a/refs.c
+++ b/refs.c@@ -223,7 +223,7 @@ static struct cached_refs *get_cached_refs(const char *submodule) return refs; } -static void invalidate_cached_refs(const char *submodule) +void invalidate_cached_refs(const char *submodule) { clear_cached_refs(get_cached_refs(submodule)); }
diff --git a/refs.h b/refs.h
index 5de06e5..63dc68c 100644
--- a/refs.h
+++ b/refs.h@@ -77,6 +77,14 @@ extern void unlock_ref(struct ref_lock *lock); /** Writes sha1 into the ref specified by the lock. **/ extern int write_ref_sha1(struct ref_lock *lock, const unsigned char *sha1, const char *msg); +/* + * Invalidate the reference cache for the specified submodule. Use + * submodule=NULL to invalidate the cache for the main module. This + * function must be called if references are changed via a mechanism + * other than the refs API. + */ +extern void invalidate_cached_refs(const char *submodule); + /** Setup reflog before using. **/ int log_ref_setup(const char *ref_name, char *logfile, int bufsize);
--
1.7.7.rc2