From afc711b8e1ee89626f0dddf0ef01fb73168d47ca Mon Sep 17 00:00:00 2001 From: Michael Haggerty Date: Tue, 18 Feb 2014 12:24:55 +0100 Subject: rename read_replace_refs to check_replace_refs The semantics of this flag was changed in commit e1111cef23 inline lookup_replace_object() calls but wasn't renamed at the time to minimize code churn. Rename it now, and add a comment explaining its use. Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- replace_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'replace_object.c') diff --git a/replace_object.c b/replace_object.c index cdcaf8cbe2..c5cf9f4467 100644 --- a/replace_object.c +++ b/replace_object.c @@ -86,7 +86,7 @@ static void prepare_replace_object(void) for_each_replace_ref(register_replace_ref, NULL); replace_object_prepared = 1; if (!replace_object_nr) - read_replace_refs = 0; + check_replace_refs = 0; } /* We allow "recursive" replacement. Only within reason, though */ -- cgit v1.3 From 1f91e79cf61eaa7cb26eb0aa1e257b7681c4c328 Mon Sep 17 00:00:00 2001 From: Michael Haggerty Date: Fri, 28 Feb 2014 17:29:16 +0100 Subject: Add docstrings for lookup_replace_object() and do_lookup_replace_object() Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- cache.h | 13 +++++++++++++ replace_object.c | 7 +++++++ 2 files changed, 20 insertions(+) (limited to 'replace_object.c') diff --git a/cache.h b/cache.h index b039abce03..9407560fcd 100644 --- a/cache.h +++ b/cache.h @@ -798,13 +798,26 @@ static inline void *read_sha1_file(const unsigned char *sha1, enum object_type * { return read_sha1_file_extended(sha1, type, size, LOOKUP_REPLACE_OBJECT); } + +/* + * This internal function is only declared here for the benefit of + * lookup_replace_object(). Please do not call it directly. + */ extern const unsigned char *do_lookup_replace_object(const unsigned char *sha1); + +/* + * If object sha1 should be replaced, return the replacement object's + * name (replaced recursively, if necessary). The return value is + * either sha1 or a pointer to a permanently-allocated value. When + * object replacement is suppressed, always return sha1. + */ static inline const unsigned char *lookup_replace_object(const unsigned char *sha1) { if (!check_replace_refs) return sha1; return do_lookup_replace_object(sha1); } + static inline const unsigned char *lookup_replace_object_extended(const unsigned char *sha1, unsigned flag) { if (!(flag & LOOKUP_REPLACE_OBJECT)) diff --git a/replace_object.c b/replace_object.c index c5cf9f4467..31fabde72b 100644 --- a/replace_object.c +++ b/replace_object.c @@ -92,6 +92,13 @@ static void prepare_replace_object(void) /* We allow "recursive" replacement. Only within reason, though */ #define MAXREPLACEDEPTH 5 +/* + * If a replacement for object sha1 has been set up, return the + * replacement object's name (replaced recursively, if necessary). + * The return value is either sha1 or a pointer to a + * permanently-allocated value. This function always respects replace + * references, regardless of the value of check_replace_refs. + */ const unsigned char *do_lookup_replace_object(const unsigned char *sha1) { int pos, depth = MAXREPLACEDEPTH; -- cgit v1.3