summaryrefslogtreecommitdiff
path: root/Documentation/git-check-ref-format.txt
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-10-31 02:06:39 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-10-31 02:06:39 (GMT)
commite634aec752642dcf86c3fc82025e43381d6768c2 (patch)
treea589b6756894d18c841ac61499e5d2c9beda36fd /Documentation/git-check-ref-format.txt
parenta1c7a69047e88244ed321b5aa2a8bcbba5a869c2 (diff)
parent80e0c0ab91e1cf6a6315d0431bf6873ebbf8bef0 (diff)
downloadgit-e634aec752642dcf86c3fc82025e43381d6768c2.zip
git-e634aec752642dcf86c3fc82025e43381d6768c2.tar.gz
git-e634aec752642dcf86c3fc82025e43381d6768c2.tar.bz2
GIT 0.99.9av0.99.9a
... to contain the RPM workaround. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Documentation/git-check-ref-format.txt')
-rw-r--r--Documentation/git-check-ref-format.txt50
1 files changed, 50 insertions, 0 deletions
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
new file mode 100644
index 0000000..636e951
--- /dev/null
+++ b/Documentation/git-check-ref-format.txt
@@ -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