git-check-ref-format(1)
=======================

NAME
----
git-check-ref-format - Make sure ref name is well formed

SYNOPSIS
--------
'git-check-ref-format' <refname>

DESCRIPTION
-----------
Checks if a given 'refname' is acceptable, and exits non-zero if
it is not.

A reference is used in git to specify branches and tags.  A
branch head is stored under `$GIT_DIR/refs/heads` directory, and
a tag is stored under `$GIT_DIR/refs/tags` directory.  git
imposes the following rules on how refs are named:

. It can include slash `/` for hierarchical (directory)
  grouping, but no slash-separated component can begin with a
  dot `.`;

. It cannot have two consecutive dots `..` anywhere;

. It cannot have ASCII control character (i.e. bytes whose
  values are lower than \040, or \177 `DEL`), space, tilde `~`,
  caret `{caret}`, colon `:`, question-mark `?`, asterisk `*`,
  or open bracket `[` anywhere;

. It cannot end with a slash `/`.

These rules makes it easy for shell script based tools to parse
refnames, pathname expansion by the shell when a refname is used
unquoted (by mistake), and also avoids ambiguities in certain
refname expressions (see gitlink:git-rev-parse[1]).  Namely:

. double-dot `..` are often used as in `ref1..ref2`, and in some
  context this notation means `{caret}ref1 ref2` (i.e. not in
  ref1 and in ref2).

. tilde `~` and caret `{caret}` are used to introduce postfix
  'nth parent' and 'peel onion' operation.

. colon `:` is used as in `srcref:dstref` to mean "use srcref\'s
  value and store it in dstref" in fetch and push operations.
  It may also be used to select a specific object such as with
  gitlink:git-cat-file[1] "git-cat-file blob v1.3.3:refs.c".


GIT
---
Part of the gitlink:git[7] suite
