Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: > Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> > --- Reviewed-by: Junio C Hamano <gitster@xxxxxxxxx> Thanks. > cache.h | 13 +++++++++++++ > replace_object.c | 7 +++++++ > 2 files changed, 20 insertions(+) > > diff --git a/cache.h b/cache.h > index b039abc..9407560 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 c5cf9f4..31fabde 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; -- 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