From: Johannes Schindelin Date: Fri, 28 Oct 2005 02:48:03 +0000 (+0200) Subject: Implement an interoperability test for fetch-pack/upload-pack X-Git-Tag: v0.99.9~11 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=eebda31d21d5d5df351b41994df875918863294e;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/t/t5501-old-fetch-and-upload.sh b/t/t5501-old-fetch-and-upload.sh new file mode 100755 index 000000000..86df78549 --- /dev/null +++ b/t/t5501-old-fetch-and-upload.sh @@ -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 +