diff options
author | Junio C Hamano <junkio@cox.net> | 2005-10-13 18:57:39 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-10-15 11:23:39 -0700 |
commit | 03feddd6e8e779086ac2d131ded325f8e5601653 (patch) | |
tree | 2e3014b9197bcb57d48af9e62c193b1ffc6a67bd /check-ref-format.c | |
parent | f51248eb482a7a0feacb04d02119c94d35845975 (diff) | |
download | git-03feddd6e8e779086ac2d131ded325f8e5601653.tar.gz git-03feddd6e8e779086ac2d131ded325f8e5601653.tar.xz |
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 000000000..a0adb3dcb --- /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; +} |