8d69195124
Not everybody can rely on /bin/sh to be sane, and we support SHELL_PATH for that. Use it. mktemp(1) is not used anywhere else in the core git. Do not introduce dependency on it. Not everybody's "which" gives a sane return value. For example, on Solaris 'which XXX' says "no XXX in /usr/bin /bin ..." and exits with zero status. The lesson here is to never use 'which' in your scripts. Signed-off-by: Junio C Hamano <junkio@twinsun.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
49 lines
938 B
Bash
Executable File
49 lines
938 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2005 Johannes Schindelin
|
|
#
|
|
|
|
# Test that the current fetch-pack/upload-pack plays nicely with
|
|
# an old counterpart
|
|
|
|
cd $(dirname $0) || exit 1
|
|
: ${SHELL_PATH=/bin/sh}
|
|
|
|
tmp=`pwd`/.tmp$$
|
|
|
|
retval=0
|
|
|
|
if [ -z "$1" ]; then
|
|
list="fetch upload"
|
|
else
|
|
list="$@"
|
|
fi
|
|
|
|
for i in $list; do
|
|
case "$i" in
|
|
fetch) pgm="old-git-fetch-pack"; replace="$pgm";;
|
|
upload) pgm="old-git-upload-pack"; replace="git-fetch-pack --exec=$pgm";;
|
|
both) pgm="old-git-upload-pack"; replace="old-git-fetch-pack --exec=$pgm";;
|
|
esac
|
|
|
|
if where=`LANG=C LC_ALL=C which "$pgm" 2>/dev/null` &&
|
|
case "$where" in
|
|
"no "*) (exit 1) ;;
|
|
esac
|
|
then
|
|
echo "Testing with $pgm"
|
|
sed -e "s/git-fetch-pack/$replace/g" \
|
|
-e "s/# old fails/warn/" < t5500-fetch-pack.sh > $tmp
|
|
|
|
"$SHELL_PATH" "$tmp" || retval=$?
|
|
rm -f "$tmp"
|
|
|
|
test $retval != 0 && exit $retval
|
|
else
|
|
echo "Skipping test for $i, since I cannot find $pgm"
|
|
fi
|
|
done
|
|
|
|
exit 0
|
|
|