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 <jrnieder@gmail.com> Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
305ddd444e
commit
618cd75707
@ -19,6 +19,7 @@ SYNOPSIS
|
|||||||
'git notes' merge --abort [-v | -q]
|
'git notes' merge --abort [-v | -q]
|
||||||
'git notes' remove [<object>]
|
'git notes' remove [<object>]
|
||||||
'git notes' prune [-n | -v]
|
'git notes' prune [-n | -v]
|
||||||
|
'git notes' get-ref
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
@ -109,6 +110,10 @@ remove::
|
|||||||
prune::
|
prune::
|
||||||
Remove all notes for non-existing/unreachable objects.
|
Remove all notes for non-existing/unreachable objects.
|
||||||
|
|
||||||
|
get-ref::
|
||||||
|
Print the current notes ref. This provides an easy way to
|
||||||
|
retrieve the current notes ref (e.g. from scripts).
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
-f::
|
-f::
|
||||||
|
@ -31,6 +31,7 @@ static const char * const git_notes_usage[] = {
|
|||||||
"git notes merge --abort [-v | -q]",
|
"git notes merge --abort [-v | -q]",
|
||||||
"git notes [--ref <notes_ref>] remove [<object>]",
|
"git notes [--ref <notes_ref>] remove [<object>]",
|
||||||
"git notes [--ref <notes_ref>] prune [-n | -v]",
|
"git notes [--ref <notes_ref>] prune [-n | -v]",
|
||||||
|
"git notes [--ref <notes_ref>] get-ref",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -82,6 +83,11 @@ static const char * const git_notes_prune_usage[] = {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char * const git_notes_get_ref_usage[] = {
|
||||||
|
"git notes get-ref",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
static const char note_template[] =
|
static const char note_template[] =
|
||||||
"\n"
|
"\n"
|
||||||
"#\n"
|
"#\n"
|
||||||
@ -1002,6 +1008,21 @@ static int prune(int argc, const char **argv, const char *prefix)
|
|||||||
return 0;
|
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 cmd_notes(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
@ -1040,6 +1061,8 @@ int cmd_notes(int argc, const char **argv, const char *prefix)
|
|||||||
result = remove_cmd(argc, argv, prefix);
|
result = remove_cmd(argc, argv, prefix);
|
||||||
else if (!strcmp(argv[0], "prune"))
|
else if (!strcmp(argv[0], "prune"))
|
||||||
result = prune(argc, argv, prefix);
|
result = prune(argc, argv, prefix);
|
||||||
|
else if (!strcmp(argv[0], "get-ref"))
|
||||||
|
result = get_ref(argc, argv, prefix);
|
||||||
else {
|
else {
|
||||||
result = error("Unknown subcommand: %s", argv[0]);
|
result = error("Unknown subcommand: %s", argv[0]);
|
||||||
usage_with_options(git_notes_usage, options);
|
usage_with_options(git_notes_usage, options);
|
||||||
|
@ -1058,4 +1058,23 @@ test_expect_success 'git notes copy diagnoses too many or too few parameters' '
|
|||||||
test_must_fail git notes copy one two three
|
test_must_fail git notes copy one two three
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git notes get-ref (no overrides)' '
|
||||||
|
git config --unset core.notesRef &&
|
||||||
|
unset GIT_NOTES_REF &&
|
||||||
|
test "$(git notes get-ref)" = "refs/notes/commits"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git notes get-ref (core.notesRef)' '
|
||||||
|
git config core.notesRef refs/notes/foo &&
|
||||||
|
test "$(git notes get-ref)" = "refs/notes/foo"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git notes get-ref (GIT_NOTES_REF)' '
|
||||||
|
test "$(GIT_NOTES_REF=refs/notes/bar git notes get-ref)" = "refs/notes/bar"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git notes get-ref (--ref)' '
|
||||||
|
test "$(GIT_NOTES_REF=refs/notes/bar git notes --ref=baz get-ref)" = "refs/notes/baz"
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user