diff options
author | Bert Wesarg <bert.wesarg@googlemail.com> | 2009-04-13 12:25:47 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-04-13 09:36:52 -0700 |
commit | 2bb98169be7b0ac4f70815b4490904c652edae61 (patch) | |
tree | 000a34fd8ca7712effc7de694eaca264f3681822 /builtin-for-each-ref.c | |
parent | 6e7b3309d356077337b8222683a743c27fa7276c (diff) | |
download | git-2bb98169be7b0ac4f70815b4490904c652edae61.tar.gz |
for-each-ref: utilize core.warnAmbiguousRefs for :short-format
core.warnAmbiguousRefs is used to select strict mode for the
abbreviation for the ":short" format specifier of "refname" and "upstream".
In strict mode, the abbreviated ref will never trigger the
'warn_ambiguous_refs' warning. I.e. for these refs:
refs/heads/xyzzy
refs/tags/xyzzy
the abbreviated forms are:
heads/xyzzy
tags/xyzzy
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-for-each-ref.c')
-rw-r--r-- | builtin-for-each-ref.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/builtin-for-each-ref.c b/builtin-for-each-ref.c index cfff686ac8..91e8f95fd2 100644 --- a/builtin-for-each-ref.c +++ b/builtin-for-each-ref.c @@ -601,7 +601,8 @@ static void populate_value(struct refinfo *ref) if (formatp) { formatp++; if (!strcmp(formatp, "short")) - refname = shorten_unambiguous_ref(refname, 0); + refname = shorten_unambiguous_ref(refname, + warn_ambiguous_refs); else die("unknown %.*s format %s", (int)(formatp - name), name, formatp); @@ -917,6 +918,9 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) sort = default_sort(); sort_atom_limit = used_atom_cnt; + /* for warn_ambiguous_refs */ + git_config(git_default_config, NULL); + memset(&cbdata, 0, sizeof(cbdata)); cbdata.grab_pattern = argv; for_each_ref(grab_single_ref, &cbdata); |