Re: [PATCH 03/33] refs: document do_for_each_ref() and do_one_ref()
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 15, 2013, 17:38 UTC
- Message-ID
- <7vobdfwv7m.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1365944088-10588-4-git-send-email-mhagger@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
Show 36 quoted lines
> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
> ---
> refs.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/refs.c b/refs.c
> index 1df1ccd..f503ec4 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -525,10 +525,14 @@ static void sort_ref_dir(struct ref_dir *dir)
> dir->sorted = dir->nr = i;
> }
>
> -#define DO_FOR_EACH_INCLUDE_BROKEN 01
> +/* Include broken references in a do_for_each_ref*() iteration: */
> +#define DO_FOR_EACH_INCLUDE_BROKEN 0x01
>
> static struct ref_entry *current_ref;
>
> +/*
> + * Handle one reference in a do_for_each_ref*()-style iteration.
> + */
> static int do_one_ref(const char *base, each_ref_fn fn, int trim,
> int flags, void *cb_data, struct ref_entry *entry)
> {
> @@ -1338,6 +1342,13 @@ void warn_dangling_symref(FILE *fp, const char *msg_fmt, const char *refname)
> for_each_rawref(warn_if_dangling_symref, &data);
> }
>
> +/*
> + * Call fn for each reference in the specified submodule for which the
> + * refname begins with base. If trim is non-zero, then trim that many
> + * characters off the beginning of each refname before passing the
> + * refname to fn. flags can be DO_FOR_EACH_INCLUDE_BROKEN to include
> + * broken references in the iteration.
> + */Early termination due to "fn()" returning non-zero needs to be documented here, no?
> static int do_for_each_ref(const char *submodule, const char *base, each_ref_fn fn,
> int trim, int flags, void *cb_data)
> {