Karthik Nayak <karthik.188@xxxxxxxxx> writes: > Add the '--points-at' option provided by 'ref-filter'. The > option lets the user to pick only refs which point to a particular > commit. > > Add Documentation for the same. > > Based-on-patch-by: Jeff King <peff@xxxxxxxx> > Mentored-by: Christian Couder <christian.couder@xxxxxxxxx> > Mentored-by: Matthieu Moy <matthieu.moy@xxxxxxxxxxxxxxx> > Signed-off-by: Karthik Nayak <karthik.188@xxxxxxxxx> > --- > Documentation/git-for-each-ref.txt | 3 +++ > builtin/for-each-ref.c | 6 +++++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt > index 7f8d9a5..e9f6a8a 100644 > --- a/Documentation/git-for-each-ref.txt > +++ b/Documentation/git-for-each-ref.txt > @@ -10,6 +10,7 @@ SYNOPSIS > [verse] > 'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl] > [(--sort=<key>)...] [--format=<format>] [<pattern>...] > + [--points-at <object>] > > DESCRIPTION > ----------- > @@ -62,6 +63,8 @@ OPTIONS > the specified host language. This is meant to produce > a scriptlet that can directly be `eval`ed. > > +--points-at <object>:: > + Only list tags of the given object. Is this intended? I would have expected if I did git for-each-ref --points-at master I would get refs/heads/master and any other refs that exactly points at that commit. > > FIELD NAMES > ----------- > diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c > index 4d2d024..b9d180a 100644 > --- a/builtin/for-each-ref.c > +++ b/builtin/for-each-ref.c > @@ -7,6 +7,7 @@ > > static char const * const for_each_ref_usage[] = { > N_("git for-each-ref [<options>] [<pattern>]"), > + N_("git for-each-ref [--points-at <object>]"), > NULL > }; > > @@ -17,6 +18,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) > struct ref_sorting *sorting = NULL, **sorting_tail = &sorting; > int maxcount = 0, quote_style = 0; > struct ref_filter_cbdata ref_cbdata; > + memset(&ref_cbdata, 0, sizeof(ref_cbdata)); > > struct option opts[] = { > OPT_BIT('s', "shell", "e_style, > @@ -33,6 +35,9 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) > OPT_STRING( 0 , "format", &format, N_("format"), N_("format to use for the output")), > OPT_CALLBACK(0 , "sort", sorting_tail, N_("key"), > N_("field name to sort on"), &parse_opt_ref_sorting), > + OPT_CALLBACK(0, "points-at", &ref_cbdata.filter.points_at, > + N_("object"), N_("print only tags of the object"), > + parse_opt_points_at), > OPT_END(), > }; > > @@ -54,7 +59,6 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) > /* for warn_ambiguous_refs */ > git_config(git_default_config, NULL); > > - memset(&ref_cbdata, 0, sizeof(ref_cbdata)); I cannot quite see how this change relates to the addition of the new option. > ref_cbdata.filter.name_patterns = argv; > filter_refs(for_each_rawref, &ref_cbdata); -- 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