From eebda31d21d5d5df351b41994df875918863294e Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Fri, 28 Oct 2005 04:48:03 +0200 Subject: [PATCH] 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 --- t/t5501-old-fetch-and-upload.sh | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 t/t5501-old-fetch-and-upload.sh diff --git a/t/t5501-old-fetch-and-upload.sh b/t/t5501-old-fetch-and-upload.sh new file mode 100755 index 00000000..86df7854 --- /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 + -- 2.11.0