23b093ee08
The following python 2.5 features were worked around: * the sha module is used as a fallback when the hashlib module is not available * the 'any' built-in method was replaced with a 'for' loop * a conditional expression was replaced with an 'if' statement * the subprocess.check_call method was replaced by a call to subprocess.Popen followed by a call to subprocess.wait with a check of its return status These changes allow the python infrastructure to be used with python 2.4 which is distributed with RedHat's RHEL 5, for example. t5800 was updated to check for python >= 2.4 to reflect these changes. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
83 lines
1.8 KiB
Bash
Executable File
83 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2010 Sverre Rabbelier
|
|
#
|
|
|
|
test_description='Test remote-helper import and export commands'
|
|
|
|
. ./test-lib.sh
|
|
|
|
if test_have_prereq PYTHON && "$PYTHON_PATH" -c '
|
|
import sys
|
|
if sys.hexversion < 0x02040000:
|
|
sys.exit(1)
|
|
'
|
|
then
|
|
:
|
|
else
|
|
say 'skipping git remote-testgit tests: requires Python 2.4 or newer'
|
|
test_done
|
|
fi
|
|
|
|
test_expect_success 'setup repository' '
|
|
git init --bare server/.git &&
|
|
git clone server public &&
|
|
(cd public &&
|
|
echo content >file &&
|
|
git add file &&
|
|
git commit -m one &&
|
|
git push origin master)
|
|
'
|
|
|
|
test_expect_success 'cloning from local repo' '
|
|
git clone "testgit::${PWD}/server" localclone &&
|
|
test_cmp public/file localclone/file
|
|
'
|
|
|
|
test_expect_success 'cloning from remote repo' '
|
|
git clone "testgit::file://${PWD}/server" clone &&
|
|
test_cmp public/file clone/file
|
|
'
|
|
|
|
test_expect_success 'create new commit on remote' '
|
|
(cd public &&
|
|
echo content >>file &&
|
|
git commit -a -m two &&
|
|
git push)
|
|
'
|
|
|
|
test_expect_success 'pulling from local repo' '
|
|
(cd localclone && git pull) &&
|
|
test_cmp public/file localclone/file
|
|
'
|
|
|
|
test_expect_success 'pulling from remote remote' '
|
|
(cd clone && git pull) &&
|
|
test_cmp public/file clone/file
|
|
'
|
|
|
|
test_expect_success 'pushing to local repo' '
|
|
(cd localclone &&
|
|
echo content >>file &&
|
|
git commit -a -m three &&
|
|
git push) &&
|
|
HEAD=$(git --git-dir=localclone/.git rev-parse --verify HEAD) &&
|
|
test $HEAD = $(git --git-dir=server/.git rev-parse --verify HEAD)
|
|
'
|
|
|
|
test_expect_success 'synch with changes from localclone' '
|
|
(cd clone &&
|
|
git pull)
|
|
'
|
|
|
|
test_expect_success 'pushing remote local repo' '
|
|
(cd clone &&
|
|
echo content >>file &&
|
|
git commit -a -m four &&
|
|
git push) &&
|
|
HEAD=$(git --git-dir=clone/.git rev-parse --verify HEAD) &&
|
|
test $HEAD = $(git --git-dir=server/.git rev-parse --verify HEAD)
|
|
'
|
|
|
|
test_done
|