Merge branch 'jc/check-ref-format-oor'
"git check-ref-format --branch @{-1}" bit a "BUG()" when run outside a repository for obvious reasons; clarify the documentation and make sure we do not even try to expand the at-mark magic in such a case, but still call the validation logic for branch names. * jc/check-ref-format-oor: check-ref-format doc: --branch validates and expands <branch> check-ref-format --branch: strip refs/heads/ using skip_prefix check-ref-format --branch: do not expand @{...} outside repository
This commit is contained in:
@ -39,12 +39,14 @@ static char *collapse_slashes(const char *refname)
|
||||
static int check_ref_format_branch(const char *arg)
|
||||
{
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
const char *name;
|
||||
int nongit;
|
||||
|
||||
setup_git_directory_gently(&nongit);
|
||||
if (strbuf_check_branch_ref(&sb, arg))
|
||||
if (strbuf_check_branch_ref(&sb, arg) ||
|
||||
!skip_prefix(sb.buf, "refs/heads/", &name))
|
||||
die("'%s' is not a valid branch name", arg);
|
||||
printf("%s\n", sb.buf + 11);
|
||||
printf("%s\n", name);
|
||||
strbuf_release(&sb);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user