From 618cd75707580819f19a5f01dba406ac72219c78 Mon Sep 17 00:00:00 2001 From: Johan Herland Date: Tue, 9 Nov 2010 22:49:57 +0100 Subject: Provide 'git notes get-ref' to easily retrieve current notes ref Script may use 'git notes get-ref' to easily retrieve the current notes ref. Suggested-by: Jonathan Nieder Signed-off-by: Johan Herland Signed-off-by: Junio C Hamano --- builtin/notes.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'builtin/notes.c') diff --git a/builtin/notes.c b/builtin/notes.c index 455046e88a..f5abf7aa6e 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -31,6 +31,7 @@ static const char * const git_notes_usage[] = { "git notes merge --abort [-v | -q]", "git notes [--ref ] remove []", "git notes [--ref ] prune [-n | -v]", + "git notes [--ref ] get-ref", NULL }; @@ -82,6 +83,11 @@ static const char * const git_notes_prune_usage[] = { NULL }; +static const char * const git_notes_get_ref_usage[] = { + "git notes get-ref", + NULL +}; + static const char note_template[] = "\n" "#\n" @@ -1002,6 +1008,21 @@ static int prune(int argc, const char **argv, const char *prefix) return 0; } +static int get_ref(int argc, const char **argv, const char *prefix) +{ + struct option options[] = { OPT_END() }; + argc = parse_options(argc, argv, prefix, options, + git_notes_get_ref_usage, 0); + + if (argc) { + error("too many parameters"); + usage_with_options(git_notes_get_ref_usage, options); + } + + puts(default_notes_ref()); + return 0; +} + int cmd_notes(int argc, const char **argv, const char *prefix) { int result; @@ -1040,6 +1061,8 @@ int cmd_notes(int argc, const char **argv, const char *prefix) result = remove_cmd(argc, argv, prefix); else if (!strcmp(argv[0], "prune")) result = prune(argc, argv, prefix); + else if (!strcmp(argv[0], "get-ref")) + result = get_ref(argc, argv, prefix); else { result = error("Unknown subcommand: %s", argv[0]); usage_with_options(git_notes_usage, options); -- cgit v1.2.3