summaryrefslogtreecommitdiff
path: root/check-builtins.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-11-05 11:26:21 -0800
committerJunio C Hamano <junkio@cox.net>2006-11-05 11:26:21 -0800
commitc74390e4a1d78e718de72e5615b7352aeec03979 (patch)
treef0616082b1d1ead1798ab06c5bac80c9eaf23d3b /check-builtins.sh
parent82cc8d839bbfd3d13f308145bdae4c9622de57e2 (diff)
downloadgit-c74390e4a1d78e718de72e5615b7352aeec03979.tar.gz
cherry is built-in, do not ship git-cherry.sh
Noticed by Rene; Makefile now has another maintainer's check target to catch this kind of mistakes. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'check-builtins.sh')
-rwxr-xr-xcheck-builtins.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/check-builtins.sh b/check-builtins.sh
new file mode 100755
index 0000000000..d6fe6cf174
--- /dev/null
+++ b/check-builtins.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+{
+ cat <<\EOF
+sayIt:
+ $(foreach b,$(BUILT_INS),echo XXX $b YYY;)
+EOF
+ cat Makefile
+} |
+make -f - sayIt 2>/dev/null |
+sed -n -e 's/.*XXX \(.*\) YYY.*/\1/p' |
+sort |
+{
+ bad=0
+ while read builtin
+ do
+ base=`expr "$builtin" : 'git-\(.*\)'`
+ x=`sed -ne 's/.*{ "'$base'", \(cmd_[^, ]*\).*/'$base' \1/p' git.c`
+ if test -z "$x"
+ then
+ echo "$base is builtin but not listed in git.c command list"
+ bad=1
+ fi
+ for sfx in sh perl py
+ do
+ if test -f "$builtin.$sfx"
+ then
+ echo "$base is builtin but $builtin.$sfx still exists"
+ bad=1
+ fi
+ done
+ done
+ exit $bad
+}