check-builtins.shon commit Sync with maint (a9a63af)
   1#!/bin/sh
   2
   3{
   4        cat <<\EOF
   5sayIt:
   6        $(foreach b,$(BUILT_INS),echo XXX $(b:$X=) YYY;)
   7EOF
   8        cat Makefile
   9} |
  10make -f - sayIt 2>/dev/null |
  11sed -n -e 's/.*XXX \(.*\) YYY.*/\1/p' |
  12sort |
  13{
  14    bad=0
  15    while read builtin
  16    do
  17        base=$(expr "$builtin" : 'git-\(.*\)')
  18        x=$(sed -ne 's/.*{ "'$base'", \(cmd_[^, ]*\).*/'$base'  \1/p' git.c)
  19        if test -z "$x"
  20        then
  21                echo "$base is builtin but not listed in git.c command list"
  22                bad=1
  23        fi
  24        for sfx in sh perl py
  25        do
  26                if test -f "$builtin.$sfx"
  27                then
  28                        echo "$base is builtin but $builtin.$sfx still exists"
  29                        bad=1
  30                fi
  31        done
  32    done
  33    exit $bad
  34}