зеркало из https://github.com/microsoft/git.git
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:
Коммит
919e06b228
1
Makefile
1
Makefile
|
@ -1884,6 +1884,7 @@ GIT-CFLAGS: FORCE
|
|||
GIT-BUILD-OPTIONS: FORCE
|
||||
@echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
|
||||
@echo PERL_PATH=\''$(subst ','\'',$(PERL_PATH_SQ))'\' >>$@
|
||||
@echo PYTHON_PATH=\''$(subst ','\'',$(PYTHON_PATH_SQ))'\' >>$@
|
||||
@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
|
||||
@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
|
||||
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
#!/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 os
|
||||
sys.path.insert(0, os.getenv("GITPYTHONLIB","."))
|
||||
|
@ -19,7 +25,7 @@ def get_repo(alias, url):
|
|||
repo.get_revs()
|
||||
repo.get_head()
|
||||
|
||||
hasher = hashlib.sha1()
|
||||
hasher = _digest()
|
||||
hasher.update(repo.path)
|
||||
repo.hash = hasher.hexdigest()
|
||||
|
||||
|
@ -133,7 +139,10 @@ def do_export(repo, args):
|
|||
|
||||
path = os.path.join(dirname, 'testgit.marks')
|
||||
print path
|
||||
print path if os.path.exists(path) else ""
|
||||
if os.path.exists(path):
|
||||
print path
|
||||
else:
|
||||
print ""
|
||||
sys.stdout.flush()
|
||||
|
||||
update_local_repo(repo)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh -e
|
||||
#!/bin/sh
|
||||
# Copyright 2005, Ryan Anderson <ryan@michonline.com>
|
||||
#
|
||||
# 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)
|
||||
|
||||
are available in the git repository at:' $baserev
|
||||
echo " $url $branch"
|
||||
echo
|
||||
are available in the git repository at:' $baserev &&
|
||||
echo " $url $branch" &&
|
||||
echo &&
|
||||
|
||||
git shortlog ^$baserev $headrev
|
||||
git diff -M --stat --summary $patch $merge_base..$headrev
|
||||
git shortlog ^$baserev $headrev &&
|
||||
git diff -M --stat --summary $patch $merge_base..$headrev || exit
|
||||
exit $status
|
||||
|
|
|
@ -48,4 +48,6 @@ class GitExporter(object):
|
|||
|
||||
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):
|
||||
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)
|
||||
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
|
||||
|
||||
|
@ -43,10 +45,14 @@ class NonLocalGit(object):
|
|||
die("could not find repo at %s", path)
|
||||
|
||||
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"]
|
||||
subprocess.check_call(args)
|
||||
child = subprocess.Popen(args)
|
||||
if child.wait() != 0:
|
||||
raise CalledProcessError
|
||||
|
||||
def push(self, base):
|
||||
"""Pushes from the non-local repo to base.
|
||||
|
@ -58,4 +64,6 @@ class NonLocalGit(object):
|
|||
die("could not find repo at %s", path)
|
||||
|
||||
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"]
|
||||
|
||||
return any(url.startswith(i) for i in prefixes)
|
||||
for prefix in prefixes:
|
||||
if url.startswith(prefix):
|
||||
return True
|
||||
return False
|
||||
|
||||
class GitRepo(object):
|
||||
"""Repo object representing a repo.
|
||||
|
@ -50,7 +53,9 @@ class GitRepo(object):
|
|||
path = ".cached_revs"
|
||||
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()
|
||||
self.revmap = dict(sanitize(i) for i in output)
|
||||
if "HEAD" in self.revmap:
|
||||
|
|
|
@ -35,7 +35,9 @@ aggregate-results-and-cleanup: $(T)
|
|||
$(MAKE) clean
|
||||
|
||||
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
|
||||
full-svn-test:
|
||||
|
|
|
@ -6,7 +6,7 @@ failed=0
|
|||
broken=0
|
||||
total=0
|
||||
|
||||
for file
|
||||
while read file
|
||||
do
|
||||
while read type value
|
||||
do
|
||||
|
|
|
@ -67,7 +67,7 @@ test_expect_success 'setup: two scripts for reading pull requests' '
|
|||
|
||||
cat <<-\EOT >read-request.sed &&
|
||||
#!/bin/sed -nf
|
||||
/ in the git repository at:$/! d
|
||||
/ in the git repository at:$/!d
|
||||
n
|
||||
/^$/ n
|
||||
s/^[ ]*\(.*\) \([^ ]*\)/please pull\
|
||||
|
@ -102,7 +102,7 @@ test_expect_success 'setup: two scripts for reading pull requests' '
|
|||
/^ [a-zA-Z]/ n
|
||||
/^[a-zA-Z]* ([0-9]*):\$/ n
|
||||
/^\$/ N
|
||||
/^\n[a-zA-Z]* ([0-9]*):\$/! {
|
||||
/^\n[a-zA-Z]* ([0-9]*):\$/!{
|
||||
a\\
|
||||
SHORTLOG
|
||||
D
|
||||
|
|
|
@ -7,9 +7,15 @@ test_description='Test remote-helper import and export commands'
|
|||
|
||||
. ./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
|
||||
say 'skipping git remote-testgit tests: requires Python support'
|
||||
:
|
||||
else
|
||||
say 'skipping git remote-testgit tests: requires Python 2.4 or newer'
|
||||
test_done
|
||||
fi
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ else
|
|||
fi
|
||||
|
||||
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 &&
|
||||
|
||||
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' '
|
||||
unset PAGER GIT_PAGER &&
|
||||
unset PAGER GIT_PAGER;
|
||||
test_might_fail git config --unset core.pager ||
|
||||
cleanup_fail &&
|
||||
|
||||
|
@ -173,7 +173,7 @@ then
|
|||
fi
|
||||
|
||||
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 &&
|
||||
rm -f default_pager_used ||
|
||||
cleanup_fail &&
|
||||
|
@ -192,7 +192,7 @@ test_expect_success SIMPLEPAGER 'default pager is used by default' '
|
|||
'
|
||||
|
||||
test_expect_success TTY 'PAGER overrides default pager' '
|
||||
unset GIT_PAGER &&
|
||||
unset GIT_PAGER;
|
||||
test_might_fail git config --unset core.pager &&
|
||||
rm -f PAGER_used ||
|
||||
cleanup_fail &&
|
||||
|
@ -204,7 +204,7 @@ test_expect_success TTY 'PAGER overrides default pager' '
|
|||
'
|
||||
|
||||
test_expect_success TTY 'core.pager overrides PAGER' '
|
||||
unset GIT_PAGER &&
|
||||
unset GIT_PAGER;
|
||||
rm -f core.pager_used ||
|
||||
cleanup_fail &&
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче