Merge branch 'bc/portable'
* bc/portable: Remove python 2.5'isms Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS t/aggregate-results: accomodate systems with small max argument list length t/t7006: ignore return status of shell's unset builtin t/t5150: remove space from sed script git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh t/t5800: skip if python version is older than 2.5
This commit is contained in:
commit
919e06b228
1
Makefile
1
Makefile
@ -1884,6 +1884,7 @@ GIT-CFLAGS: FORCE
|
|||||||
GIT-BUILD-OPTIONS: FORCE
|
GIT-BUILD-OPTIONS: FORCE
|
||||||
@echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
|
@echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
|
||||||
@echo PERL_PATH=\''$(subst ','\'',$(PERL_PATH_SQ))'\' >>$@
|
@echo PERL_PATH=\''$(subst ','\'',$(PERL_PATH_SQ))'\' >>$@
|
||||||
|
@echo PYTHON_PATH=\''$(subst ','\'',$(PYTHON_PATH_SQ))'\' >>$@
|
||||||
@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
|
@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
|
||||||
@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
|
@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
|
||||||
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
|
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import hashlib
|
# hashlib is only available in python >= 2.5
|
||||||
|
try:
|
||||||
|
import hashlib
|
||||||
|
_digest = hashlib.sha1
|
||||||
|
except ImportError:
|
||||||
|
import sha
|
||||||
|
_digest = sha.new
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
sys.path.insert(0, os.getenv("GITPYTHONLIB","."))
|
sys.path.insert(0, os.getenv("GITPYTHONLIB","."))
|
||||||
@ -19,7 +25,7 @@ def get_repo(alias, url):
|
|||||||
repo.get_revs()
|
repo.get_revs()
|
||||||
repo.get_head()
|
repo.get_head()
|
||||||
|
|
||||||
hasher = hashlib.sha1()
|
hasher = _digest()
|
||||||
hasher.update(repo.path)
|
hasher.update(repo.path)
|
||||||
repo.hash = hasher.hexdigest()
|
repo.hash = hasher.hexdigest()
|
||||||
|
|
||||||
@ -133,7 +139,10 @@ def do_export(repo, args):
|
|||||||
|
|
||||||
path = os.path.join(dirname, 'testgit.marks')
|
path = os.path.join(dirname, 'testgit.marks')
|
||||||
print path
|
print path
|
||||||
print path if os.path.exists(path) else ""
|
if os.path.exists(path):
|
||||||
|
print path
|
||||||
|
else:
|
||||||
|
print ""
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
update_local_repo(repo)
|
update_local_repo(repo)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh -e
|
#!/bin/sh
|
||||||
# Copyright 2005, Ryan Anderson <ryan@michonline.com>
|
# Copyright 2005, Ryan Anderson <ryan@michonline.com>
|
||||||
#
|
#
|
||||||
# This file is licensed under the GPL v2, or a later version
|
# This file is licensed under the GPL v2, or a later version
|
||||||
@ -70,10 +70,10 @@ git show -s --format='The following changes since commit %H:
|
|||||||
|
|
||||||
%s (%ci)
|
%s (%ci)
|
||||||
|
|
||||||
are available in the git repository at:' $baserev
|
are available in the git repository at:' $baserev &&
|
||||||
echo " $url $branch"
|
echo " $url $branch" &&
|
||||||
echo
|
echo &&
|
||||||
|
|
||||||
git shortlog ^$baserev $headrev
|
git shortlog ^$baserev $headrev &&
|
||||||
git diff -M --stat --summary $patch $merge_base..$headrev
|
git diff -M --stat --summary $patch $merge_base..$headrev || exit
|
||||||
exit $status
|
exit $status
|
||||||
|
@ -48,4 +48,6 @@ class GitExporter(object):
|
|||||||
|
|
||||||
args = ["sed", "s_refs/heads/_" + self.repo.prefix + "_g"]
|
args = ["sed", "s_refs/heads/_" + self.repo.prefix + "_g"]
|
||||||
|
|
||||||
subprocess.check_call(args, stdin=p1.stdout)
|
child = subprocess.Popen(args, stdin=p1.stdout)
|
||||||
|
if child.wait() != 0:
|
||||||
|
raise CalledProcessError
|
||||||
|
@ -35,4 +35,6 @@ class GitImporter(object):
|
|||||||
if os.path.exists(path):
|
if os.path.exists(path):
|
||||||
args.append("--import-marks=" + path)
|
args.append("--import-marks=" + path)
|
||||||
|
|
||||||
subprocess.check_call(args)
|
child = subprocess.Popen(args)
|
||||||
|
if child.wait() != 0:
|
||||||
|
raise CalledProcessError
|
||||||
|
@ -29,7 +29,9 @@ class NonLocalGit(object):
|
|||||||
os.makedirs(path)
|
os.makedirs(path)
|
||||||
args = ["git", "clone", "--bare", "--quiet", self.repo.gitpath, path]
|
args = ["git", "clone", "--bare", "--quiet", self.repo.gitpath, path]
|
||||||
|
|
||||||
subprocess.check_call(args)
|
child = subprocess.Popen(args)
|
||||||
|
if child.wait() != 0:
|
||||||
|
raise CalledProcessError
|
||||||
|
|
||||||
return path
|
return path
|
||||||
|
|
||||||
@ -43,10 +45,14 @@ class NonLocalGit(object):
|
|||||||
die("could not find repo at %s", path)
|
die("could not find repo at %s", path)
|
||||||
|
|
||||||
args = ["git", "--git-dir=" + path, "fetch", "--quiet", self.repo.gitpath]
|
args = ["git", "--git-dir=" + path, "fetch", "--quiet", self.repo.gitpath]
|
||||||
subprocess.check_call(args)
|
child = subprocess.Popen(args)
|
||||||
|
if child.wait() != 0:
|
||||||
|
raise CalledProcessError
|
||||||
|
|
||||||
args = ["git", "--git-dir=" + path, "update-ref", "refs/heads/master", "FETCH_HEAD"]
|
args = ["git", "--git-dir=" + path, "update-ref", "refs/heads/master", "FETCH_HEAD"]
|
||||||
subprocess.check_call(args)
|
child = subprocess.Popen(args)
|
||||||
|
if child.wait() != 0:
|
||||||
|
raise CalledProcessError
|
||||||
|
|
||||||
def push(self, base):
|
def push(self, base):
|
||||||
"""Pushes from the non-local repo to base.
|
"""Pushes from the non-local repo to base.
|
||||||
@ -58,4 +64,6 @@ class NonLocalGit(object):
|
|||||||
die("could not find repo at %s", path)
|
die("could not find repo at %s", path)
|
||||||
|
|
||||||
args = ["git", "--git-dir=" + path, "push", "--quiet", self.repo.gitpath]
|
args = ["git", "--git-dir=" + path, "push", "--quiet", self.repo.gitpath]
|
||||||
subprocess.check_call(args)
|
child = subprocess.Popen(args)
|
||||||
|
if child.wait() != 0:
|
||||||
|
raise CalledProcessError
|
||||||
|
@ -19,7 +19,10 @@ def is_remote(url):
|
|||||||
|
|
||||||
prefixes = ["http", "file", "git"]
|
prefixes = ["http", "file", "git"]
|
||||||
|
|
||||||
return any(url.startswith(i) for i in prefixes)
|
for prefix in prefixes:
|
||||||
|
if url.startswith(prefix):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
class GitRepo(object):
|
class GitRepo(object):
|
||||||
"""Repo object representing a repo.
|
"""Repo object representing a repo.
|
||||||
@ -50,7 +53,9 @@ class GitRepo(object):
|
|||||||
path = ".cached_revs"
|
path = ".cached_revs"
|
||||||
ofile = open(path, "w")
|
ofile = open(path, "w")
|
||||||
|
|
||||||
subprocess.check_call(args, stdout=ofile)
|
child = subprocess.Popen(args, stdout=ofile)
|
||||||
|
if child.wait() != 0:
|
||||||
|
raise CalledProcessError
|
||||||
output = open(path).readlines()
|
output = open(path).readlines()
|
||||||
self.revmap = dict(sanitize(i) for i in output)
|
self.revmap = dict(sanitize(i) for i in output)
|
||||||
if "HEAD" in self.revmap:
|
if "HEAD" in self.revmap:
|
||||||
|
@ -35,7 +35,9 @@ aggregate-results-and-cleanup: $(T)
|
|||||||
$(MAKE) clean
|
$(MAKE) clean
|
||||||
|
|
||||||
aggregate-results:
|
aggregate-results:
|
||||||
'$(SHELL_PATH_SQ)' ./aggregate-results.sh test-results/t*-*
|
for f in test-results/t*-*; do \
|
||||||
|
echo "$$f"; \
|
||||||
|
done | '$(SHELL_PATH_SQ)' ./aggregate-results.sh
|
||||||
|
|
||||||
# we can test NO_OPTIMIZE_COMMITS independently of LC_ALL
|
# we can test NO_OPTIMIZE_COMMITS independently of LC_ALL
|
||||||
full-svn-test:
|
full-svn-test:
|
||||||
|
@ -6,7 +6,7 @@ failed=0
|
|||||||
broken=0
|
broken=0
|
||||||
total=0
|
total=0
|
||||||
|
|
||||||
for file
|
while read file
|
||||||
do
|
do
|
||||||
while read type value
|
while read type value
|
||||||
do
|
do
|
||||||
|
@ -67,7 +67,7 @@ test_expect_success 'setup: two scripts for reading pull requests' '
|
|||||||
|
|
||||||
cat <<-\EOT >read-request.sed &&
|
cat <<-\EOT >read-request.sed &&
|
||||||
#!/bin/sed -nf
|
#!/bin/sed -nf
|
||||||
/ in the git repository at:$/! d
|
/ in the git repository at:$/!d
|
||||||
n
|
n
|
||||||
/^$/ n
|
/^$/ n
|
||||||
s/^[ ]*\(.*\) \([^ ]*\)/please pull\
|
s/^[ ]*\(.*\) \([^ ]*\)/please pull\
|
||||||
@ -102,7 +102,7 @@ test_expect_success 'setup: two scripts for reading pull requests' '
|
|||||||
/^ [a-zA-Z]/ n
|
/^ [a-zA-Z]/ n
|
||||||
/^[a-zA-Z]* ([0-9]*):\$/ n
|
/^[a-zA-Z]* ([0-9]*):\$/ n
|
||||||
/^\$/ N
|
/^\$/ N
|
||||||
/^\n[a-zA-Z]* ([0-9]*):\$/! {
|
/^\n[a-zA-Z]* ([0-9]*):\$/!{
|
||||||
a\\
|
a\\
|
||||||
SHORTLOG
|
SHORTLOG
|
||||||
D
|
D
|
||||||
|
@ -7,9 +7,15 @@ test_description='Test remote-helper import and export commands'
|
|||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
if ! test_have_prereq PYTHON
|
if test_have_prereq PYTHON && "$PYTHON_PATH" -c '
|
||||||
|
import sys
|
||||||
|
if sys.hexversion < 0x02040000:
|
||||||
|
sys.exit(1)
|
||||||
|
'
|
||||||
then
|
then
|
||||||
say 'skipping git remote-testgit tests: requires Python support'
|
:
|
||||||
|
else
|
||||||
|
say 'skipping git remote-testgit tests: requires Python 2.4 or newer'
|
||||||
test_done
|
test_done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
unset GIT_PAGER GIT_PAGER_IN_USE &&
|
unset GIT_PAGER GIT_PAGER_IN_USE;
|
||||||
test_might_fail git config --unset core.pager &&
|
test_might_fail git config --unset core.pager &&
|
||||||
|
|
||||||
PAGER="cat >paginated.out" &&
|
PAGER="cat >paginated.out" &&
|
||||||
@ -159,7 +159,7 @@ test_expect_success 'color when writing to a file intended for a pager' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'determine default pager' '
|
test_expect_success 'determine default pager' '
|
||||||
unset PAGER GIT_PAGER &&
|
unset PAGER GIT_PAGER;
|
||||||
test_might_fail git config --unset core.pager ||
|
test_might_fail git config --unset core.pager ||
|
||||||
cleanup_fail &&
|
cleanup_fail &&
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
test_expect_success SIMPLEPAGER 'default pager is used by default' '
|
test_expect_success SIMPLEPAGER 'default pager is used by default' '
|
||||||
unset PAGER GIT_PAGER &&
|
unset PAGER GIT_PAGER;
|
||||||
test_might_fail git config --unset core.pager &&
|
test_might_fail git config --unset core.pager &&
|
||||||
rm -f default_pager_used ||
|
rm -f default_pager_used ||
|
||||||
cleanup_fail &&
|
cleanup_fail &&
|
||||||
@ -192,7 +192,7 @@ test_expect_success SIMPLEPAGER 'default pager is used by default' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY 'PAGER overrides default pager' '
|
test_expect_success TTY 'PAGER overrides default pager' '
|
||||||
unset GIT_PAGER &&
|
unset GIT_PAGER;
|
||||||
test_might_fail git config --unset core.pager &&
|
test_might_fail git config --unset core.pager &&
|
||||||
rm -f PAGER_used ||
|
rm -f PAGER_used ||
|
||||||
cleanup_fail &&
|
cleanup_fail &&
|
||||||
@ -204,7 +204,7 @@ test_expect_success TTY 'PAGER overrides default pager' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY 'core.pager overrides PAGER' '
|
test_expect_success TTY 'core.pager overrides PAGER' '
|
||||||
unset GIT_PAGER &&
|
unset GIT_PAGER;
|
||||||
rm -f core.pager_used ||
|
rm -f core.pager_used ||
|
||||||
cleanup_fail &&
|
cleanup_fail &&
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user