Skip to content

Commit

Permalink
Add docstrings for lookup_replace_object() and do_lookup_replace_obje…
Browse files Browse the repository at this point in the history
…ct()

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michael Haggerty authored and Junio C Hamano committed Feb 28, 2014
1 parent afc711b commit 1f91e79
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
13 changes: 13 additions & 0 deletions cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
7 changes: 7 additions & 0 deletions replace_object.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 1f91e79

Please sign in to comment.