Implement an interoperability test for fetch-pack/upload-pack
The next patches will extend the pack protocol. This test assures that this extension is compatible to earlier versions of git-fetch-pack/git-upload-pack. All you need to do to take advantage of this test, is to install older known-to-be-working binaries in the path as "old-git-fetch-pack" and "old-git-upload-pack". Note that the warning when testing with old-git-fetch-pack is to be expected (it just says that the old version was not taking advantage of all the information which the server sent). Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
6b17c674aa
commit
eebda31d21
43
t/t5501-old-fetch-and-upload.sh
Executable file
43
t/t5501-old-fetch-and-upload.sh
Executable file
@ -0,0 +1,43 @@
|
||||
#!/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
|
||||
|
||||
tmp=$(mktemp tmp-XXXX)
|
||||
|
||||
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 which $pgm; then
|
||||
echo "Testing with $pgm"
|
||||
sed -e "s/git-fetch-pack/$replace/g" \
|
||||
-e "s/# old fails/warn/" < t5500-fetch-pack.sh > $tmp
|
||||
|
||||
sh $tmp || retval=$?
|
||||
rm $tmp
|
||||
|
||||
test $retval != 0 && exit $retval
|
||||
else
|
||||
echo "Skipping test for $i, since I cannot find $pgm"
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user