diff options
author | Kristoffer Haugsbakk <code@khaugsbakk.name> | 2024-03-05 21:29:43 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-05 22:04:26 +0100 |
commit | 8fbd903e58503cbdd1f1c816dd0c6c3c4d591b13 (patch) | |
tree | bdcac7428df8f52598ee55307389ff0cc6dfcee8 /branch.c | |
parent | advice: use double quotes for regular quoting (diff) | |
download | git-8fbd903e58503cbdd1f1c816dd0c6c3c4d591b13.tar.xz git-8fbd903e58503cbdd1f1c816dd0c6c3c4d591b13.zip |
branch: advise about ref syntax rules
git-branch(1) will error out if you give it a bad ref name. But the user
might not understand why or what part of the name is illegal.
The user might know that there are some limitations based on the *loose
ref* format (filenames), but there are also further rules for
easier integration with shell-based tools, pathname expansion, and
playing well with reference name expressions.
The man page for git-check-ref-format(1) contains these rules. Let’s
advise about it since that is not a command that you just happen
upon. Also make this advise configurable since you might not want to be
reminded every time you make a little typo.
Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'branch.c')
-rw-r--r-- | branch.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -370,8 +370,12 @@ int read_branch_desc(struct strbuf *buf, const char *branch_name) */ int validate_branchname(const char *name, struct strbuf *ref) { - if (strbuf_check_branch_ref(ref, name)) - die(_("'%s' is not a valid branch name"), name); + if (strbuf_check_branch_ref(ref, name)) { + int code = die_message(_("'%s' is not a valid branch name"), name); + advise_if_enabled(ADVICE_REF_SYNTAX, + _("See `man git check-ref-format`")); + exit(code); + } return ref_exists(ref->buf); } |