diff options
author | Junio C Hamano <junkio@cox.net> | 2005-10-15 17:10:14 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-10-15 17:10:14 -0700 |
commit | 652d5dc6c0aef842eafcd9d2f73a4836d20734e2 (patch) | |
tree | 81f2fb438b53db399041ce72c8b4894bd7729568 /check-ref-format.c | |
parent | 494245d6d1ad365e9b8d76668ed7ff3f888057b1 (diff) | |
download | git-652d5dc6c0aef842eafcd9d2f73a4836d20734e2.tar.gz |
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>
Diffstat (limited to 'check-ref-format.c')
-rw-r--r-- | check-ref-format.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/check-ref-format.c b/check-ref-format.c new file mode 100644 index 0000000000..a0adb3dcb3 --- /dev/null +++ b/check-ref-format.c @@ -0,0 +1,17 @@ +/* + * GIT - The information manager from hell + */ + +#include "cache.h" +#include "refs.h" + +#include <stdio.h> + +int main(int ac, char **av) +{ + if (ac != 2) + usage("git-check-ref-format refname"); + if (check_ref_format(av[1])) + exit(1); + return 0; +} |