git-check-ref-format
Ensures that a reference name is well formed
- Provided by: git-man (Version: 1:1.9.1-1ubuntu0.10)
- Source: git
- Report a bug
Ensures that a reference name is well formed
git check-ref-format [--normalize]
[--[no-]allow-onelevel] [--refspec-pattern]
<refname>
git check-ref-format --branch <branchname-shorthand>
Checks if a given refname is acceptable, and exits with a non-zero status if it is not.
A reference is used in Git to specify branches and tags. A branch head is stored in the refs/heads hierarchy, while a tag is stored in the refs/tags hierarchy of the ref namespace (typically in $GIT_DIR/refs/heads and $GIT_DIR/refs/tags directories or, as entries in file $GIT_DIR/packed-refs if refs are packed by git gc).
Git imposes the following rules on how references are named:
These rules make it easy for shell script based tools to parse reference names, pathname expansion by the shell when a reference name is used unquoted (by mistake), and also avoids ambiguities in certain reference name expressions (see gitrevisions(7)):
With the --branch option, it expands the “previous branch syntax” @{-n}. For example, @{-1} is a way to refer the last branch you were on. This option should be used by porcelains to accept this syntax anywhere a branch name is expected, so they can act as if you typed the branch name.
--[no-]allow-onelevel
--refspec-pattern
--normalize
$ git check-ref-format --branch @{-1}
$ ref=$(git check-ref-format --normalize "refs/heads/$newbranch") || die "we do not like '$newbranch' as a branch name."
Part of the git(1) suite