зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
82cc8d839b
Коммит
c74390e4a1
5
Makefile
5
Makefile
|
@ -932,3 +932,8 @@ check-docs::
|
|||
*) echo "no link: $$v";; \
|
||||
esac ; \
|
||||
done | sort
|
||||
|
||||
### Make sure built-ins do not have dups and listed in git.c
|
||||
#
|
||||
check-builtins::
|
||||
./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
|
||||
}
|
|
@ -1,91 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005 Junio C Hamano.
|
||||
#
|
||||
|
||||
USAGE='[-v] <upstream> [<head>] [<limit>]'
|
||||
LONG_USAGE=' __*__*__*__*__> <upstream>
|
||||
/
|
||||
fork-point
|
||||
\__+__+__+__+__+__+__+__> <head>
|
||||
|
||||
Each commit between the fork-point (or <limit> if given) and <head> is
|
||||
examined, and compared against the change each commit between the
|
||||
fork-point and <upstream> introduces. If the change seems to be in
|
||||
the upstream, it is shown on the standard output with prefix "-".
|
||||
Otherwise it is shown with prefix "+".'
|
||||
. git-sh-setup
|
||||
|
||||
case "$1" in -v) verbose=t; shift ;; esac
|
||||
|
||||
case "$#,$1" in
|
||||
1,*..*)
|
||||
upstream=$(expr "z$1" : 'z\(.*\)\.\.') ours=$(expr "z$1" : '.*\.\.\(.*\)$')
|
||||
set x "$upstream" "$ours"
|
||||
shift ;;
|
||||
esac
|
||||
|
||||
case "$#" in
|
||||
1) upstream=`git-rev-parse --verify "$1"` &&
|
||||
ours=`git-rev-parse --verify HEAD` || exit
|
||||
limit="$upstream"
|
||||
;;
|
||||
2) upstream=`git-rev-parse --verify "$1"` &&
|
||||
ours=`git-rev-parse --verify "$2"` || exit
|
||||
limit="$upstream"
|
||||
;;
|
||||
3) upstream=`git-rev-parse --verify "$1"` &&
|
||||
ours=`git-rev-parse --verify "$2"` &&
|
||||
limit=`git-rev-parse --verify "$3"` || exit
|
||||
;;
|
||||
*) usage ;;
|
||||
esac
|
||||
|
||||
# Note that these list commits in reverse order;
|
||||
# not that the order in inup matters...
|
||||
inup=`git-rev-list ^$ours $upstream` &&
|
||||
ours=`git-rev-list $ours ^$limit` || exit
|
||||
|
||||
tmp=.cherry-tmp$$
|
||||
patch=$tmp-patch
|
||||
mkdir $patch
|
||||
trap "rm -rf $tmp-*" 0 1 2 3 15
|
||||
|
||||
for c in $inup
|
||||
do
|
||||
git-diff-tree -p $c
|
||||
done | git-patch-id |
|
||||
while read id name
|
||||
do
|
||||
echo $name >>$patch/$id
|
||||
done
|
||||
|
||||
LF='
|
||||
'
|
||||
|
||||
O=
|
||||
for c in $ours
|
||||
do
|
||||
set x `git-diff-tree -p $c | git-patch-id`
|
||||
if test "$2" != ""
|
||||
then
|
||||
if test -f "$patch/$2"
|
||||
then
|
||||
sign=-
|
||||
else
|
||||
sign=+
|
||||
fi
|
||||
case "$verbose" in
|
||||
t)
|
||||
c=$(git-rev-list --pretty=oneline --max-count=1 $c)
|
||||
esac
|
||||
case "$O" in
|
||||
'') O="$sign $c" ;;
|
||||
*) O="$sign $c$LF$O" ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
case "$O" in
|
||||
'') ;;
|
||||
*) echo "$O" ;;
|
||||
esac
|
Загрузка…
Ссылка в новой задаче