[RFC/PATCH 6/9] for-each-ref: add '--merged' and '--no-merged' options
- From
Karthik Nayak <karthik.188@gmail.com>
- Date
- Jun 6, 2015, 20:04 UTC
- Message-ID
- <1433621052-5588-6-git-send-email-karthik.188@gmail.com>
- In-Reply-To
- <1433621052-5588-1-git-send-email-karthik.188@gmail.com>
Add the '--merged' and '--no-merged' options provided by 'ref-filter'. The '--merged' option lets the user to only list refs merged into the named commit. The '--no-merged' option lets the user to only list refs not merged into the named commit.
Add documentation for the same.
Based-on-patch-by: Jeff King <peff@peff.net> Mentored-by: Christian Couder <christian.couder@gmail.com> Mentored-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr> Signed-off-by: Karthik Nayak <karthik.188@gmail.com> --- Documentation/git-for-each-ref.txt | 10 +++++++++- builtin/for-each-ref.c | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt index e9f6a8a..74f24f4 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.txt @@ -10,7 +10,7 @@ SYNOPSIS [verse] 'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl] [(--sort=<key>)...] [--format=<format>] [<pattern>...] - [--points-at <object>] + [--points-at <object>] [(--merged | --no-merged) <object>] DESCRIPTION ----------- @@ -66,6 +66,14 @@ OPTIONS --points-at <object>:: Only list tags of the given object. +--merged [<commit>]:: + Only list refs whose tips are reachable from the + specified commit (HEAD if not specified). + +--no-merged [<commit>]:: + Only list refs whose tips are not reachable from the + specified commit (HEAD if not specified). + FIELD NAMES ----------- diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index b9d180a..82605ed 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -8,6 +8,7 @@ static char const * const for_each_ref_usage[] = { N_("git for-each-ref [<options>] [<pattern>]"), N_("git for-each-ref [--points-at <object>]"), + N_("git for-each-ref [(--merged | --no-merged) <object>]"), NULL }; @@ -38,6 +39,8 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) OPT_CALLBACK(0, "points-at", &ref_cbdata.filter.points_at, N_("object"), N_("print only tags of the object"), parse_opt_points_at), + OPT_MERGED(&ref_cbdata.filter, N_("print only merged refs")), + OPT_NO_MERGED(&ref_cbdata.filter, N_("print only not merged refs")), OPT_END(), };
-- 2.4.2