From 03feddd6e8e779086ac2d131ded325f8e5601653 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 13 Oct 2005 18:57:39 -0700 Subject: 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 --- check-ref-format.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 check-ref-format.c (limited to 'check-ref-format.c') 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 + +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; +} -- cgit v1.2.1