git-check-ref-format: reject funny ref names.

Update check_ref_format() function to reject ref names that:

 * has a path component that begins with a ".", or
 * has a double dots "..", or
 * has ASCII control character, "~", "^", ":" or SP, anywhere, or
 * ends with a "/".

Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure
that newly created refs are well-formed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano
2005-10-15 17:10:14 -07:00
parent 494245d6d1
commit 652d5dc6c0
6 changed files with 103 additions and 38 deletions

View File

@@ -116,7 +116,7 @@ PROGRAMS = \
git-ssh-upload git-tar-tree git-unpack-file \
git-unpack-objects git-update-index git-update-server-info \
git-upload-pack git-verify-pack git-write-tree \
git-update-ref git-symbolic-ref \
git-update-ref git-symbolic-ref git-check-ref-format \
$(SIMPLE_PROGRAMS)
# Backward compatibility -- to be removed after 1.0