ref-format documentation.
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
b8041fe4d8
commit
622ef9df19
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,6 +8,7 @@ git-archimport
|
||||
git-bisect
|
||||
git-branch
|
||||
git-cat-file
|
||||
git-check-ref-format
|
||||
git-checkout
|
||||
git-checkout-index
|
||||
git-cherry
|
||||
|
50
Documentation/git-check-ref-format.txt
Normal file
50
Documentation/git-check-ref-format.txt
Normal file
@ -0,0 +1,50 @@
|
||||
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 could be named hierarchically (i.e. separated with slash
|
||||
`/`), but each of its component cannot 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}`, or colon `:` anywhere;
|
||||
|
||||
. It cannot end with a slash `/`.
|
||||
|
||||
These rules makes it easy for shell script based tools to parse
|
||||
refnames, 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.
|
||||
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the gitlink:git[7] suite
|
@ -79,8 +79,9 @@ OPTIONS
|
||||
SPECIFYING REVISIONS
|
||||
--------------------
|
||||
|
||||
A revision parameter typically names a commit object. They use
|
||||
what is called an 'extended SHA1' syntax.
|
||||
A revision parameter typically, but not necessarily, names a
|
||||
commit object. They use what is called an 'extended SHA1'
|
||||
syntax.
|
||||
|
||||
* The full SHA1 object name (40-byte hexadecimal string), or
|
||||
a substring of such that is unique within the repository.
|
||||
@ -106,6 +107,18 @@ what is called an 'extended SHA1' syntax.
|
||||
equivalent to rev{caret}{caret}{caret} which is equivalent to\
|
||||
rev{caret}1{caret}1{caret}1.
|
||||
|
||||
* A suffix '{caret}' followed by an object type name enclosed in
|
||||
brace pair (e.g. `v0.99.8{caret}\{commit\}`) means the object
|
||||
could be a tag, and dereference the tag recursively until an
|
||||
object of that type is found or the object cannot be
|
||||
dereferenced anymore (in which case, barf). `rev{caret}0`
|
||||
introduced earlier is a short-hand for `rev{caret}\{commit\}`.
|
||||
|
||||
* A suffix '{caret}' followed by an empty brace pair
|
||||
(e.g. `v0.99.8{caret}\{\}`) means the object could be a tag,
|
||||
and dereference the tag recursively until a non-tag object is
|
||||
found.
|
||||
|
||||
'git-rev-parse' also accepts a prefix '{caret}' to revision parameter,
|
||||
which is passed to 'git-rev-list'. Two revision parameters
|
||||
concatenated with '..' is a short-hand for writing a range
|
||||
|
Loading…
Reference in New Issue
Block a user