mirror of
https://github.com/git/git.git
synced 2024-11-27 03:53:55 +08:00
Merge branch 'ps/platform-compat-fixes'
Various platform compatibility fixes split out of the larger effort to use Meson as the primary build tool. * ps/platform-compat-fixes: t6006: fix prereq handling with `test_format ()` http: fix build error on FreeBSD builtin/credential-cache: fix missing parameter for stub function t7300: work around platform-specific behaviour with long paths on MinGW t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin t3404: work around platform-specific behaviour on macOS 10.15 t1401: make invocation of tar(1) work with Win32-provided one t/lib-gpg: fix setup of GNUPGHOME in MinGW t/lib-gitweb: test against the build version of gitweb t/test-lib: wire up NO_ICONV prerequisite t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
This commit is contained in:
commit
268fd2fe58
1
Makefile
1
Makefile
@ -3171,6 +3171,7 @@ GIT-BUILD-OPTIONS: FORCE
|
||||
@echo PYTHON_PATH=\''$(subst ','\'',$(PYTHON_PATH_SQ))'\' >>$@+
|
||||
@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@+
|
||||
@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@+
|
||||
@echo NO_ICONV=\''$(subst ','\'',$(subst ','\'',$(NO_ICONV)))'\' >>$@+
|
||||
@echo NO_EXPAT=\''$(subst ','\'',$(subst ','\'',$(NO_EXPAT)))'\' >>$@+
|
||||
@echo USE_LIBPCRE2=\''$(subst ','\'',$(subst ','\'',$(USE_LIBPCRE2)))'\' >>$@+
|
||||
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@+
|
||||
|
@ -189,7 +189,8 @@ int cmd_credential_cache(int argc,
|
||||
|
||||
#else
|
||||
|
||||
int cmd_credential_cache(int argc, const char **argv, const char *prefix)
|
||||
int cmd_credential_cache(int argc, const char **argv, const char *prefix,
|
||||
struct repository *repo UNUSED)
|
||||
{
|
||||
const char * const usage[] = {
|
||||
"git credential-cache [options] <action>",
|
||||
|
@ -1109,6 +1109,7 @@ set(DIFF diff)
|
||||
set(PYTHON_PATH /usr/bin/python)
|
||||
set(TAR tar)
|
||||
set(NO_CURL )
|
||||
set(NO_ICONV )
|
||||
set(NO_EXPAT )
|
||||
set(USE_LIBPCRE2 )
|
||||
set(NO_PERL )
|
||||
@ -1122,6 +1123,10 @@ if(NOT CURL_FOUND)
|
||||
set(NO_CURL 1)
|
||||
endif()
|
||||
|
||||
if(NOT Iconv_FOUND)
|
||||
SET(NO_ICONV 1)
|
||||
endif()
|
||||
|
||||
if(NOT EXPAT_FOUND)
|
||||
set(NO_EXPAT 1)
|
||||
endif()
|
||||
@ -1145,6 +1150,7 @@ file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "DIFF='${DIFF}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "PYTHON_PATH='${PYTHON_PATH}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "TAR='${TAR}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_CURL='${NO_CURL}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_ICONV='${NO_ICONV}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_EXPAT='${NO_EXPAT}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_PERL='${NO_PERL}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_PTHREADS='${NO_PTHREADS}'\n")
|
||||
|
10
http.c
10
http.c
@ -2290,17 +2290,19 @@ static int http_request_reauth(const char *url,
|
||||
case HTTP_REQUEST_STRBUF:
|
||||
strbuf_reset(result);
|
||||
break;
|
||||
case HTTP_REQUEST_FILE:
|
||||
if (fflush(result)) {
|
||||
case HTTP_REQUEST_FILE: {
|
||||
FILE *f = result;
|
||||
if (fflush(f)) {
|
||||
error_errno("unable to flush a file");
|
||||
return HTTP_START_FAILED;
|
||||
}
|
||||
rewind(result);
|
||||
if (ftruncate(fileno(result), 0) < 0) {
|
||||
rewind(f);
|
||||
if (ftruncate(fileno(f), 0) < 0) {
|
||||
error_errno("unable to truncate a file");
|
||||
return HTTP_START_FAILED;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
BUG("Unknown http_request target");
|
||||
}
|
||||
|
@ -48,8 +48,8 @@ EOF
|
||||
test -f "$SCRIPT_NAME" ||
|
||||
error "Cannot find gitweb at $GITWEB_TEST_INSTALLED."
|
||||
say "# Testing $SCRIPT_NAME"
|
||||
else # normal case, use source version of gitweb
|
||||
SCRIPT_NAME="$GIT_BUILD_DIR/gitweb/gitweb.perl"
|
||||
else # normal case, use built version of gitweb
|
||||
SCRIPT_NAME="$GIT_BUILD_DIR/gitweb/gitweb.cgi"
|
||||
fi
|
||||
export SCRIPT_NAME
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
# executed in an eval'ed subshell that changes the working directory to a
|
||||
# temporary one.
|
||||
|
||||
GNUPGHOME="$PWD/gpghome"
|
||||
GNUPGHOME="$(pwd)/gpghome"
|
||||
export GNUPGHOME
|
||||
|
||||
test_lazy_prereq GPG '
|
||||
|
@ -12,6 +12,12 @@ TEST_CREATE_REPO_NO_TEMPLATE=1
|
||||
|
||||
GIT_TRACE_WORKING_TREE_ENCODING=1 && export GIT_TRACE_WORKING_TREE_ENCODING
|
||||
|
||||
if ! test_have_prereq ICONV
|
||||
then
|
||||
skip_all='skipping working tree encoding tests; iconv not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
test_expect_success 'setup test files' '
|
||||
git config core.eol lf &&
|
||||
|
||||
|
@ -16,7 +16,7 @@ reset_to_sane() {
|
||||
test_expect_success 'setup' '
|
||||
git symbolic-ref HEAD refs/heads/foo &&
|
||||
test_commit file &&
|
||||
"$TAR" cf .git.tar .git/
|
||||
"$TAR" cf .git.tar .git
|
||||
'
|
||||
|
||||
test_expect_success 'symbolic-ref read/write roundtrip' '
|
||||
|
@ -34,7 +34,7 @@ test_expect_success 'parallel-checkout with ident' '
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'parallel-checkout with re-encoding' '
|
||||
test_expect_success ICONV 'parallel-checkout with re-encoding' '
|
||||
set_checkout_config 2 0 &&
|
||||
git init encoding &&
|
||||
(
|
||||
|
@ -1917,18 +1917,17 @@ test_expect_success '--update-refs updates refs correctly' '
|
||||
test_cmp_rev HEAD~1 refs/heads/third &&
|
||||
test_cmp_rev HEAD refs/heads/no-conflict-branch &&
|
||||
|
||||
cat >expect <<-\EOF &&
|
||||
q_to_tab >expect <<-\EOF &&
|
||||
Successfully rebased and updated refs/heads/update-refs.
|
||||
Updated the following refs with --update-refs:
|
||||
refs/heads/first
|
||||
refs/heads/no-conflict-branch
|
||||
refs/heads/second
|
||||
refs/heads/third
|
||||
Qrefs/heads/first
|
||||
Qrefs/heads/no-conflict-branch
|
||||
Qrefs/heads/second
|
||||
Qrefs/heads/third
|
||||
EOF
|
||||
|
||||
# Clear "Rebasing (X/Y)" progress lines and drop leading tabs.
|
||||
sed -e "s/Rebasing.*Successfully/Successfully/g" -e "s/^\t//g" \
|
||||
<err >err.trimmed &&
|
||||
sed "s/Rebasing.*Successfully/Successfully/g" <err >err.trimmed &&
|
||||
test_cmp expect err.trimmed
|
||||
'
|
||||
|
||||
@ -2178,19 +2177,18 @@ test_expect_success '--update-refs: check failed ref update' '
|
||||
test_must_fail git rebase --continue 2>err &&
|
||||
grep "update_ref failed for ref '\''refs/heads/second'\''" err &&
|
||||
|
||||
cat >expect <<-\EOF &&
|
||||
q_to_tab >expect <<-\EOF &&
|
||||
Updated the following refs with --update-refs:
|
||||
refs/heads/first
|
||||
refs/heads/no-conflict-branch
|
||||
refs/heads/third
|
||||
Qrefs/heads/first
|
||||
Qrefs/heads/no-conflict-branch
|
||||
Qrefs/heads/third
|
||||
Failed to update the following refs with --update-refs:
|
||||
refs/heads/second
|
||||
Qrefs/heads/second
|
||||
EOF
|
||||
|
||||
# Clear "Rebasing (X/Y)" progress lines and drop leading tabs.
|
||||
tail -n 6 err >err.last &&
|
||||
sed -e "s/Rebasing.*Successfully/Successfully/g" -e "s/^\t//g" \
|
||||
<err.last >err.trimmed &&
|
||||
sed "s/Rebasing.*Successfully/Successfully/g" <err.last >err.trimmed &&
|
||||
test_cmp expect err.trimmed
|
||||
'
|
||||
|
||||
|
@ -20,6 +20,12 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
if ! test_have_prereq ICONV
|
||||
then
|
||||
skip_all='skipping rebase i18n tests; iconv not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
compare_msg () {
|
||||
iconv -f "$2" -t "$3" "$TEST_DIRECTORY/t3434/$1" >expect &&
|
||||
git cat-file commit HEAD >raw &&
|
||||
|
@ -8,6 +8,12 @@ test_description='commit and log output encodings'
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
if ! test_have_prereq ICONV
|
||||
then
|
||||
skip_all='skipping commit i18n tests; iconv not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
compare_with () {
|
||||
git show -s $1 | sed -e '1,/^$/d' -e 's/^ //' >current &&
|
||||
case "$3" in
|
||||
|
@ -11,6 +11,12 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
if ! test_have_prereq ICONV
|
||||
then
|
||||
skip_all='skipping patch i18n tests; iconv not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
check_encoding () {
|
||||
# Make sure characters are not corrupted
|
||||
cnt="$1" header="$2" i=1 j=0
|
||||
|
@ -15,12 +15,18 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="ISO8859-1"
|
||||
# Test non-UTF-8 encoding in case iconv is available.
|
||||
if test_have_prereq ICONV
|
||||
then
|
||||
test_encoding="ISO8859-1"
|
||||
# String "added" in German (translated with Google Translate), encoded in UTF-8,
|
||||
# used in sample commit log messages in add_file() function below.
|
||||
added=$(printf "hinzugef\303\274gt")
|
||||
else
|
||||
test_encoding="UTF-8"
|
||||
added="added"
|
||||
fi
|
||||
|
||||
# String "added" in German (translated with Google Translate), encoded in UTF-8,
|
||||
# used in sample commit log messages in add_file() function below.
|
||||
added=$(printf "hinzugef\303\274gt")
|
||||
add_file () {
|
||||
(
|
||||
cd "$1" &&
|
||||
|
@ -12,12 +12,18 @@ initialized previously but the checkout has since been removed.
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="ISO8859-1"
|
||||
|
||||
# String "added" in German (translated with Google Translate), encoded in UTF-8,
|
||||
# used in sample commit log messages in add_file() function below.
|
||||
added=$(printf "hinzugef\303\274gt")
|
||||
# Test non-UTF-8 encoding in case iconv is available.
|
||||
if test_have_prereq ICONV
|
||||
then
|
||||
test_encoding="ISO8859-1"
|
||||
# String "added" in German (translated with Google Translate), encoded in UTF-8,
|
||||
# used in sample commit log messages in add_file() function below.
|
||||
added=$(printf "hinzugef\303\274gt")
|
||||
else
|
||||
test_encoding="UTF-8"
|
||||
added="added"
|
||||
fi
|
||||
|
||||
add_file () {
|
||||
(
|
||||
|
@ -13,12 +13,17 @@ This test tries to verify the sanity of --submodule=diff option of git diff.
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="ISO8859-1"
|
||||
|
||||
# String "added" in German (translated with Google Translate), encoded in UTF-8,
|
||||
# used in sample commit log messages in add_file() function below.
|
||||
added=$(printf "hinzugef\303\274gt")
|
||||
# Test non-UTF-8 encoding in case iconv is available.
|
||||
if test_have_prereq ICONV
|
||||
then
|
||||
test_encoding="ISO8859-1"
|
||||
# String "added" in German (translated with Google Translate), encoded in UTF-8,
|
||||
# used in sample commit log messages in add_file() function below.
|
||||
added=$(printf "hinzugef\303\274gt")
|
||||
else
|
||||
test_encoding="UTF-8"
|
||||
added="added"
|
||||
fi
|
||||
|
||||
add_file () {
|
||||
(
|
||||
|
@ -105,7 +105,7 @@ test_expect_success 'output from user-defined format is re-wrapped' '
|
||||
test_cmp expect log.predictable
|
||||
'
|
||||
|
||||
test_expect_success !MINGW 'shortlog wrapping' '
|
||||
test_expect_success !MINGW,ICONV 'shortlog wrapping' '
|
||||
cat >expect <<\EOF &&
|
||||
A U Thor (5):
|
||||
Test
|
||||
@ -126,13 +126,13 @@ EOF
|
||||
test_cmp expect out
|
||||
'
|
||||
|
||||
test_expect_success !MINGW 'shortlog from non-git directory' '
|
||||
test_expect_success !MINGW,ICONV 'shortlog from non-git directory' '
|
||||
git log --no-expand-tabs HEAD >log &&
|
||||
GIT_DIR=non-existing git shortlog -w <log >out &&
|
||||
test_cmp expect out
|
||||
'
|
||||
|
||||
test_expect_success !MINGW 'shortlog can read --format=raw output' '
|
||||
test_expect_success !MINGW,ICONV 'shortlog can read --format=raw output' '
|
||||
git log --format=raw HEAD >log &&
|
||||
GIT_DIR=non-existing git shortlog -w <log >out &&
|
||||
test_cmp expect out
|
||||
@ -186,7 +186,7 @@ $DSCHO (2):
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_success !MINGW 'shortlog encoding' '
|
||||
test_expect_success !MINGW,ICONV 'shortlog encoding' '
|
||||
git reset --hard "$commit" &&
|
||||
git config --unset i18n.commitencoding &&
|
||||
echo 2 > a1 &&
|
||||
|
@ -114,19 +114,19 @@ test_expect_success 'alias loop' '
|
||||
test_must_fail git log --pretty=test-foo
|
||||
'
|
||||
|
||||
test_expect_success 'NUL separation' '
|
||||
test_expect_success ICONV 'NUL separation' '
|
||||
printf "add bar\0$(commit_msg)" >expected &&
|
||||
git log -z --pretty="format:%s" >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'NUL termination' '
|
||||
test_expect_success ICONV 'NUL termination' '
|
||||
printf "add bar\0$(commit_msg)\0" >expected &&
|
||||
git log -z --pretty="tformat:%s" >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'NUL separation with --stat' '
|
||||
test_expect_success ICONV 'NUL separation with --stat' '
|
||||
stat0_part=$(git diff --stat HEAD^ HEAD) &&
|
||||
stat1_part=$(git diff-tree --no-commit-id --stat --root HEAD^) &&
|
||||
printf "add bar\n$stat0_part\n\0$(commit_msg)\n$stat1_part\n" >expected &&
|
||||
@ -181,7 +181,7 @@ test_expect_success 'setup more commits' '
|
||||
head4=$(git rev-parse --verify --short HEAD~3)
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting' '
|
||||
test_expect_success ICONV 'left alignment formatting' '
|
||||
git log --pretty="tformat:%<(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
message two Z
|
||||
@ -192,7 +192,7 @@ test_expect_success 'left alignment formatting' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'left alignment formatting. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
message two Z
|
||||
@ -203,7 +203,7 @@ test_expect_success 'left alignment formatting. i18n.logOutputEncoding' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting at the nth column' '
|
||||
test_expect_success ICONV 'left alignment formatting at the nth column' '
|
||||
git log --pretty="tformat:%h %<|(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
$head1 message two Z
|
||||
@ -214,7 +214,7 @@ test_expect_success 'left alignment formatting at the nth column' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting at the nth column' '
|
||||
test_expect_success ICONV 'left alignment formatting at the nth column' '
|
||||
COLUMNS=50 git log --pretty="tformat:%h %<|(-10)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
$head1 message two Z
|
||||
@ -225,7 +225,7 @@ test_expect_success 'left alignment formatting at the nth column' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting at the nth column. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'left alignment formatting at the nth column. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%h %<|(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
$head1 message two Z
|
||||
@ -236,7 +236,7 @@ test_expect_success 'left alignment formatting at the nth column. i18n.logOutput
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting with no padding' '
|
||||
test_expect_success ICONV 'left alignment formatting with no padding' '
|
||||
git log --pretty="tformat:%<(1)%s" >actual &&
|
||||
cat <<-EOF >expected &&
|
||||
message two
|
||||
@ -258,7 +258,7 @@ test_expect_success 'left alignment formatting with no padding. i18n.logOutputEn
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting with trunc' '
|
||||
test_expect_success ICONV 'left alignment formatting with trunc' '
|
||||
git log --pretty="tformat:%<(10,trunc)%s" >actual &&
|
||||
qz_to_tab_space <<-\EOF >expected &&
|
||||
message ..
|
||||
@ -269,7 +269,7 @@ test_expect_success 'left alignment formatting with trunc' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting with trunc. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'left alignment formatting with trunc. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,trunc)%s" >actual &&
|
||||
qz_to_tab_space <<-\EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
message ..
|
||||
@ -280,7 +280,7 @@ test_expect_success 'left alignment formatting with trunc. i18n.logOutputEncodin
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting with ltrunc' '
|
||||
test_expect_success ICONV 'left alignment formatting with ltrunc' '
|
||||
git log --pretty="tformat:%<(10,ltrunc)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
..sage two
|
||||
@ -291,7 +291,7 @@ test_expect_success 'left alignment formatting with ltrunc' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting with ltrunc. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'left alignment formatting with ltrunc. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,ltrunc)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
..sage two
|
||||
@ -302,7 +302,7 @@ test_expect_success 'left alignment formatting with ltrunc. i18n.logOutputEncodi
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting with mtrunc' '
|
||||
test_expect_success ICONV 'left alignment formatting with mtrunc' '
|
||||
git log --pretty="tformat:%<(10,mtrunc)%s" >actual &&
|
||||
qz_to_tab_space <<-\EOF >expected &&
|
||||
mess.. two
|
||||
@ -313,7 +313,7 @@ test_expect_success 'left alignment formatting with mtrunc' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left alignment formatting with mtrunc. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'left alignment formatting with mtrunc. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,mtrunc)%s" >actual &&
|
||||
qz_to_tab_space <<-\EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
mess.. two
|
||||
@ -324,7 +324,7 @@ test_expect_success 'left alignment formatting with mtrunc. i18n.logOutputEncodi
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting' '
|
||||
test_expect_success ICONV 'right alignment formatting' '
|
||||
git log --pretty="tformat:%>(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
Z message two
|
||||
@ -335,7 +335,7 @@ test_expect_success 'right alignment formatting' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'right alignment formatting. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%>(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
Z message two
|
||||
@ -346,7 +346,7 @@ test_expect_success 'right alignment formatting. i18n.logOutputEncoding' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting at the nth column' '
|
||||
test_expect_success ICONV 'right alignment formatting at the nth column' '
|
||||
git log --pretty="tformat:%h %>|(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
$head1 message two
|
||||
@ -357,7 +357,7 @@ test_expect_success 'right alignment formatting at the nth column' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting at the nth column' '
|
||||
test_expect_success ICONV 'right alignment formatting at the nth column' '
|
||||
COLUMNS=50 git log --pretty="tformat:%h %>|(-10)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
$head1 message two
|
||||
@ -368,7 +368,7 @@ test_expect_success 'right alignment formatting at the nth column' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting at the nth column. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'right alignment formatting at the nth column. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%h %>|(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
$head1 message two
|
||||
@ -381,7 +381,7 @@ test_expect_success 'right alignment formatting at the nth column. i18n.logOutpu
|
||||
|
||||
# Note: Space between 'message' and 'two' should be in the same column
|
||||
# as in previous test.
|
||||
test_expect_success 'right alignment formatting at the nth column with --graph. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'right alignment formatting at the nth column with --graph. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --graph --pretty="tformat:%h %>|(40)%s" >actual &&
|
||||
iconv -f utf-8 -t $test_encoding >expected <<-EOF &&
|
||||
* $head1 message two
|
||||
@ -392,7 +392,7 @@ test_expect_success 'right alignment formatting at the nth column with --graph.
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting with no padding' '
|
||||
test_expect_success ICONV 'right alignment formatting with no padding' '
|
||||
git log --pretty="tformat:%>(1)%s" >actual &&
|
||||
cat <<-EOF >expected &&
|
||||
message two
|
||||
@ -403,7 +403,7 @@ test_expect_success 'right alignment formatting with no padding' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting with no padding and with --graph' '
|
||||
test_expect_success ICONV 'right alignment formatting with no padding and with --graph' '
|
||||
git log --graph --pretty="tformat:%>(1)%s" >actual &&
|
||||
cat <<-EOF >expected &&
|
||||
* message two
|
||||
@ -414,7 +414,7 @@ test_expect_success 'right alignment formatting with no padding and with --graph
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'right alignment formatting with no padding. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'right alignment formatting with no padding. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%>(1)%s" >actual &&
|
||||
cat <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
message two
|
||||
@ -425,7 +425,7 @@ test_expect_success 'right alignment formatting with no padding. i18n.logOutputE
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'center alignment formatting' '
|
||||
test_expect_success ICONV 'center alignment formatting' '
|
||||
git log --pretty="tformat:%><(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
Z message two Z
|
||||
@ -436,7 +436,7 @@ test_expect_success 'center alignment formatting' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'center alignment formatting. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'center alignment formatting. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%><(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
Z message two Z
|
||||
@ -446,7 +446,7 @@ test_expect_success 'center alignment formatting. i18n.logOutputEncoding' '
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
test_expect_success 'center alignment formatting at the nth column' '
|
||||
test_expect_success ICONV 'center alignment formatting at the nth column' '
|
||||
git log --pretty="tformat:%h %><|(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
$head1 message two Z
|
||||
@ -457,7 +457,7 @@ test_expect_success 'center alignment formatting at the nth column' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'center alignment formatting at the nth column' '
|
||||
test_expect_success ICONV 'center alignment formatting at the nth column' '
|
||||
COLUMNS=70 git log --pretty="tformat:%h %><|(-30)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF >expected &&
|
||||
$head1 message two Z
|
||||
@ -468,7 +468,7 @@ test_expect_success 'center alignment formatting at the nth column' '
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'center alignment formatting at the nth column. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'center alignment formatting at the nth column. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%h %><|(40)%s" >actual &&
|
||||
qz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
$head1 message two Z
|
||||
@ -479,7 +479,7 @@ test_expect_success 'center alignment formatting at the nth column. i18n.logOutp
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'center alignment formatting with no padding' '
|
||||
test_expect_success ICONV 'center alignment formatting with no padding' '
|
||||
git log --pretty="tformat:%><(1)%s" >actual &&
|
||||
cat <<-EOF >expected &&
|
||||
message two
|
||||
@ -493,7 +493,7 @@ test_expect_success 'center alignment formatting with no padding' '
|
||||
# save HEAD's SHA-1 digest (with no abbreviations) to use it below
|
||||
# as far as the next test amends HEAD
|
||||
old_head1=$(git rev-parse --verify HEAD~0)
|
||||
test_expect_success 'center alignment formatting with no padding. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'center alignment formatting with no padding. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%><(1)%s" >actual &&
|
||||
cat <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
message two
|
||||
@ -504,7 +504,7 @@ test_expect_success 'center alignment formatting with no padding. i18n.logOutput
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'left/right alignment formatting with stealing' '
|
||||
test_expect_success ICONV 'left/right alignment formatting with stealing' '
|
||||
git commit --amend -m short --author "long long long <long@me.com>" &&
|
||||
git log --pretty="tformat:%<(10,trunc)%s%>>(10,ltrunc)% an" >actual &&
|
||||
cat <<-\EOF >expected &&
|
||||
@ -515,7 +515,7 @@ test_expect_success 'left/right alignment formatting with stealing' '
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
test_expect_success 'left/right alignment formatting with stealing. i18n.logOutputEncoding' '
|
||||
test_expect_success ICONV 'left/right alignment formatting with stealing. i18n.logOutputEncoding' '
|
||||
git -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,trunc)%s%>>(10,ltrunc)% an" >actual &&
|
||||
cat <<-\EOF | iconv -f utf-8 -t $test_encoding >expected &&
|
||||
short long long long
|
||||
@ -564,22 +564,38 @@ test_expect_success 'log decoration properly follows tag chain' '
|
||||
git tag -d tag1 &&
|
||||
git commit --amend -m shorter &&
|
||||
git log --no-walk --tags --pretty="%H %d" --decorate=full >actual &&
|
||||
cat <<-EOF >expected &&
|
||||
$head2 (tag: refs/tags/message-one)
|
||||
$old_head1 (tag: refs/tags/message-two)
|
||||
$head1 (tag: refs/tags/tag2)
|
||||
EOF
|
||||
if test_have_prereq ICONV
|
||||
then
|
||||
cat <<-EOF >expected
|
||||
$head2 (tag: refs/tags/message-one)
|
||||
$old_head1 (tag: refs/tags/message-two)
|
||||
$head1 (tag: refs/tags/tag2)
|
||||
EOF
|
||||
else
|
||||
cat <<-EOF >expected
|
||||
$head2 (tag: refs/tags/message-one)
|
||||
$old_head1 (tag: refs/tags/tag2, tag: refs/tags/message-two)
|
||||
EOF
|
||||
fi &&
|
||||
sort -k3 actual >actual1 &&
|
||||
test_cmp expected actual1
|
||||
'
|
||||
|
||||
test_expect_success 'clean log decoration' '
|
||||
git log --no-walk --tags --pretty="%H %D" --decorate=full >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
$head2 tag: refs/tags/message-one
|
||||
$old_head1 tag: refs/tags/message-two
|
||||
$head1 tag: refs/tags/tag2
|
||||
EOF
|
||||
if test_have_prereq ICONV
|
||||
then
|
||||
cat <<-EOF >expected
|
||||
$head2 tag: refs/tags/message-one
|
||||
$old_head1 tag: refs/tags/message-two
|
||||
$head1 tag: refs/tags/tag2
|
||||
EOF
|
||||
else
|
||||
cat <<-EOF >expected
|
||||
$head2 tag: refs/tags/message-one
|
||||
$old_head1 tag: refs/tags/tag2, tag: refs/tags/message-two
|
||||
EOF
|
||||
fi &&
|
||||
sort -k3 actual >actual1 &&
|
||||
test_cmp expected actual1
|
||||
'
|
||||
|
@ -5,6 +5,12 @@ test_description='test log with i18n features'
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./lib-gettext.sh
|
||||
|
||||
if ! test_have_prereq ICONV
|
||||
then
|
||||
skip_all='skipping log i18n tests; iconv not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
# two forms of é
|
||||
utf8_e=$(printf '\303\251')
|
||||
latin1_e=$(printf '\351')
|
||||
|
@ -5,6 +5,12 @@ test_description='git am with corrupt input'
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
if ! test_have_prereq ICONV
|
||||
then
|
||||
skip_all='skipping am encoding corruption tests; iconv not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
make_mbox_with_nul () {
|
||||
space=' '
|
||||
q_nul_in_subject=
|
||||
|
@ -28,7 +28,12 @@ check_mailinfo () {
|
||||
|
||||
for mail in 00*
|
||||
do
|
||||
test_expect_success "mailinfo $mail" '
|
||||
case "$mail" in
|
||||
0004)
|
||||
prereq=ICONV;;
|
||||
esac
|
||||
|
||||
test_expect_success $prereq "mailinfo $mail" '
|
||||
check_mailinfo "$mail" "" &&
|
||||
if test -f "$DATA/msg$mail--scissors"
|
||||
then
|
||||
@ -56,7 +61,12 @@ test_expect_success 'split box with rfc2047 samples' \
|
||||
|
||||
for mail in rfc2047/00*
|
||||
do
|
||||
test_expect_success "mailinfo $mail" '
|
||||
case "$mail" in
|
||||
rfc2047/0001)
|
||||
prereq=ICONV;;
|
||||
esac
|
||||
|
||||
test_expect_success $prereq "mailinfo $mail" '
|
||||
git mailinfo -u "$mail-msg" "$mail-patch" <"$mail" >"$mail-info" &&
|
||||
echo msg &&
|
||||
test_cmp "$DATA/empty" "$mail-msg" &&
|
||||
|
@ -774,7 +774,7 @@ do
|
||||
# file with scheme
|
||||
for p in file
|
||||
do
|
||||
test_expect_success !MINGW "fetch-pack --diag-url $p://$h/$r" '
|
||||
test_expect_success !WINDOWS "fetch-pack --diag-url $p://$h/$r" '
|
||||
check_prot_path $p://$h/$r $p "/$r"
|
||||
'
|
||||
test_expect_success MINGW "fetch-pack --diag-url $p://$h/$r" '
|
||||
@ -784,7 +784,7 @@ do
|
||||
check_prot_path $p:///$r $p "/$r"
|
||||
'
|
||||
# No "/~" -> "~" conversion for file
|
||||
test_expect_success !MINGW "fetch-pack --diag-url $p://$h/~$r" '
|
||||
test_expect_success !WINDOWS "fetch-pack --diag-url $p://$h/~$r" '
|
||||
check_prot_path $p://$h/~$r $p "/~$r"
|
||||
'
|
||||
test_expect_success MINGW "fetch-pack --diag-url $p://$h/~$r" '
|
||||
@ -806,11 +806,17 @@ do
|
||||
p=ssh
|
||||
for h in host [::1]
|
||||
do
|
||||
test_expect_success "fetch-pack --diag-url $h:$r" '
|
||||
expectation="success"
|
||||
if test_have_prereq CYGWIN && test "$h" = "[::1]"
|
||||
then
|
||||
expectation="failure"
|
||||
fi
|
||||
|
||||
test_expect_$expectation "fetch-pack --diag-url $h:$r" '
|
||||
check_prot_host_port_path $h:$r $p "$h" NONE "$r"
|
||||
'
|
||||
# Do "/~" -> "~" conversion
|
||||
test_expect_success "fetch-pack --diag-url $h:/~$r" '
|
||||
test_expect_$expectation "fetch-pack --diag-url $h:/~$r" '
|
||||
check_prot_host_port_path $h:/~$r $p "$h" NONE "~$r"
|
||||
'
|
||||
done
|
||||
|
@ -344,12 +344,12 @@ test_expect_success 'git client shows text/plain with a charset' '
|
||||
grep "this is the error message" stderr
|
||||
'
|
||||
|
||||
test_expect_success 'http error messages are reencoded' '
|
||||
test_expect_success ICONV 'http error messages are reencoded' '
|
||||
test_must_fail git clone "$HTTPD_URL/error/utf16" 2>stderr &&
|
||||
grep "this is the error message" stderr
|
||||
'
|
||||
|
||||
test_expect_success 'reencoding is robust to whitespace oddities' '
|
||||
test_expect_success ICONV 'reencoding is robust to whitespace oddities' '
|
||||
test_must_fail git clone "$HTTPD_URL/error/odd-spacing" 2>stderr &&
|
||||
grep "this is the error message" stderr
|
||||
'
|
||||
|
@ -530,10 +530,17 @@ do
|
||||
'
|
||||
done
|
||||
|
||||
# Parsing of paths that look like IPv6 addresses is broken on Cygwin.
|
||||
expectation_for_ipv6_tests=success
|
||||
if test_have_prereq CYGWIN
|
||||
then
|
||||
expectation_for_ipv6_tests=failure
|
||||
fi
|
||||
|
||||
#ipv6
|
||||
for repo in rep rep/home/project 123
|
||||
do
|
||||
test_expect_success "clone [::1]:$repo" '
|
||||
test_expect_$expectation_for_ipv6_tests "clone [::1]:$repo" '
|
||||
test_clone_url [::1]:$repo ::1 "$repo"
|
||||
'
|
||||
done
|
||||
@ -542,7 +549,7 @@ test_expect_success "clone host:/~repo" '
|
||||
test_clone_url host:/~repo host "~repo"
|
||||
'
|
||||
|
||||
test_expect_success "clone [::1]:/~repo" '
|
||||
test_expect_$expectation_for_ipv6_tests "clone [::1]:/~repo" '
|
||||
test_clone_url [::1]:/~repo ::1 "~repo"
|
||||
'
|
||||
|
||||
|
@ -13,21 +13,41 @@ TEST_PASSES_SANITIZE_LEAK=true
|
||||
. "$TEST_DIRECTORY"/lib-terminal.sh
|
||||
|
||||
test_tick
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="ISO8859-1"
|
||||
|
||||
# String "added" in German
|
||||
# (translated with Google Translate),
|
||||
# encoded in UTF-8, used as a commit log message below.
|
||||
added_utf8_part=$(printf "\303\274")
|
||||
added_utf8_part_iso88591=$(echo "$added_utf8_part" | iconv -f utf-8 -t $test_encoding)
|
||||
added=$(printf "added (hinzugef${added_utf8_part}gt) foo")
|
||||
added_iso88591=$(echo "$added" | iconv -f utf-8 -t $test_encoding)
|
||||
# same but "changed"
|
||||
changed_utf8_part=$(printf "\303\244")
|
||||
changed_utf8_part_iso88591=$(echo "$changed_utf8_part" | iconv -f utf-8 -t $test_encoding)
|
||||
changed=$(printf "changed (ge${changed_utf8_part}ndert) foo")
|
||||
changed_iso88591=$(echo "$changed" | iconv -f utf-8 -t $test_encoding)
|
||||
if test_have_prereq ICONV
|
||||
then
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="ISO8859-1"
|
||||
|
||||
# String "added" in German
|
||||
# (translated with Google Translate),
|
||||
# encoded in UTF-8, used as a commit log message below.
|
||||
added_utf8_part=$(printf "\303\274")
|
||||
added_utf8_part_iso88591=$(echo "$added_utf8_part" | iconv -f utf-8 -t $test_encoding)
|
||||
added=$(printf "added (hinzugef${added_utf8_part}gt) foo")
|
||||
added_iso88591=$(echo "$added" | iconv -f utf-8 -t $test_encoding)
|
||||
# same but "changed"
|
||||
changed_utf8_part=$(printf "\303\244")
|
||||
changed_utf8_part_iso88591=$(echo "$changed_utf8_part" | iconv -f utf-8 -t $test_encoding)
|
||||
changed=$(printf "changed (ge${changed_utf8_part}ndert) foo")
|
||||
changed_iso88591=$(echo "$changed" | iconv -f utf-8 -t $test_encoding)
|
||||
else
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="UTF-8"
|
||||
|
||||
# String "added" in German
|
||||
# (translated with Google Translate),
|
||||
# encoded in UTF-8, used as a commit log message below.
|
||||
added_utf8_part="u"
|
||||
added_utf8_part_iso88591="u"
|
||||
added=$(printf "added (hinzugef${added_utf8_part}gt) foo")
|
||||
added_iso88591="$added"
|
||||
# same but "changed"
|
||||
changed_utf8_part="a"
|
||||
changed_utf8_part_iso88591="a"
|
||||
changed=$(printf "changed (ge${changed_utf8_part}ndert) foo")
|
||||
changed_iso88591="$changed"
|
||||
fi
|
||||
|
||||
# Count of char to truncate
|
||||
# Number is chosen so, that non-ACSII characters
|
||||
@ -55,7 +75,7 @@ test_expect_success 'setup' '
|
||||
git config --unset i18n.commitEncoding
|
||||
'
|
||||
|
||||
# usage: test_format [argument...] name format_string [failure] <expected_output
|
||||
# usage: test_format [argument...] name format_string [success|failure] [prereq] <expected_output
|
||||
test_format () {
|
||||
local args=
|
||||
while true
|
||||
@ -69,7 +89,7 @@ test_format () {
|
||||
esac
|
||||
done
|
||||
cat >expect.$1
|
||||
test_expect_${3:-success} "format $1" "
|
||||
test_expect_${3:-success} $4 "format $1" "
|
||||
git rev-list $args --pretty=format:'$2' main >output.$1 &&
|
||||
test_cmp expect.$1 output.$1
|
||||
"
|
||||
@ -198,7 +218,7 @@ Thu, 7 Apr 2005 15:13:13 -0700
|
||||
1112911993
|
||||
EOF
|
||||
|
||||
test_format encoding %e <<EOF
|
||||
test_format encoding %e success ICONV <<EOF
|
||||
commit $head2
|
||||
$test_encoding
|
||||
commit $head1
|
||||
@ -374,7 +394,7 @@ test_expect_success 'setup complex body' '
|
||||
head3_short=$(git rev-parse --short $head3)
|
||||
'
|
||||
|
||||
test_format complex-encoding %e <<EOF
|
||||
test_format complex-encoding %e success ICONV <<EOF
|
||||
commit $head3
|
||||
$test_encoding
|
||||
commit $head2
|
||||
|
@ -13,21 +13,31 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
commit_msg () {
|
||||
# String "modify 2nd file (changed)" partly in German
|
||||
# (translated with Google Translate),
|
||||
# encoded in UTF-8, used as a commit log message below.
|
||||
msg="modify 2nd file (ge\303\244ndert)\n"
|
||||
if test -n "$1"
|
||||
then
|
||||
printf "$msg" | iconv -f utf-8 -t "$1"
|
||||
else
|
||||
printf "$msg"
|
||||
fi
|
||||
}
|
||||
if test_have_prereq ICONV
|
||||
then
|
||||
commit_msg () {
|
||||
# String "modify 2nd file (changed)" partly in German
|
||||
# (translated with Google Translate),
|
||||
# encoded in UTF-8, used as a commit log message below.
|
||||
msg="modify 2nd file (ge\303\244ndert)\n"
|
||||
if test -n "$1"
|
||||
then
|
||||
printf "$msg" | iconv -f utf-8 -t "$1"
|
||||
else
|
||||
printf "$msg"
|
||||
fi
|
||||
}
|
||||
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="ISO8859-1"
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="ISO8859-1"
|
||||
else
|
||||
commit_msg () {
|
||||
echo "modify 2nd file (geandert)"
|
||||
}
|
||||
|
||||
# Tested non-UTF-8 encoding
|
||||
test_encoding="UTF-8"
|
||||
fi
|
||||
|
||||
test_expect_success 'creating initial files and commits' '
|
||||
test_tick &&
|
||||
|
@ -3,6 +3,12 @@
|
||||
test_description='git blame encoding conversion'
|
||||
. ./test-lib.sh
|
||||
|
||||
if ! test_have_prereq ICONV
|
||||
then
|
||||
skip_all='skipping blame i18n tests; iconv not available'
|
||||
test_done
|
||||
fi
|
||||
|
||||
. "$TEST_DIRECTORY"/t8005/utf8.txt
|
||||
. "$TEST_DIRECTORY"/t8005/euc-japan.txt
|
||||
. "$TEST_DIRECTORY"/t8005/sjis.txt
|
||||
|
@ -3676,7 +3676,7 @@ test_expect_success !MINGW 'W: get-mark & empty orphan commit with erroneous thi
|
||||
### series X (other new features)
|
||||
###
|
||||
|
||||
test_expect_success 'X: handling encoding' '
|
||||
test_expect_success ICONV 'X: handling encoding' '
|
||||
test_tick &&
|
||||
cat >input <<-INPUT_END &&
|
||||
commit refs/heads/encoding
|
||||
|
@ -125,7 +125,7 @@ test_expect_success 'fast-export --show-original-ids | git fast-import' '
|
||||
test $MUSS = $(git rev-parse --verify refs/tags/muss)
|
||||
'
|
||||
|
||||
test_expect_success 'reencoding iso-8859-7' '
|
||||
test_expect_success ICONV 'reencoding iso-8859-7' '
|
||||
|
||||
test_when_finished "git reset --hard HEAD~1" &&
|
||||
test_config i18n.commitencoding iso-8859-7 &&
|
||||
@ -421,7 +421,7 @@ M 100644 :1 there
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_success 'dropping tag of filtered out object' '
|
||||
test_expect_success ICONV 'dropping tag of filtered out object' '
|
||||
(
|
||||
cd limit-by-paths &&
|
||||
git fast-export --tag-of-filtered-object=drop mytag -- there > output &&
|
||||
@ -438,7 +438,7 @@ msg
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_success 'rewriting tag of filtered out object' '
|
||||
test_expect_success ICONV 'rewriting tag of filtered out object' '
|
||||
(
|
||||
cd limit-by-paths &&
|
||||
git fast-export --tag-of-filtered-object=rewrite mytag -- there > output &&
|
||||
@ -667,7 +667,7 @@ M 100644 :13 file
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_success 'avoid uninteresting refs' '
|
||||
test_expect_success ICONV 'avoid uninteresting refs' '
|
||||
> tmp-marks &&
|
||||
git fast-export --import-marks=tmp-marks \
|
||||
--export-marks=tmp-marks main > /dev/null &&
|
||||
@ -686,7 +686,7 @@ from :14
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_success 'refs are updated even if no commits need to be exported' '
|
||||
test_expect_success ICONV 'refs are updated even if no commits need to be exported' '
|
||||
> tmp-marks &&
|
||||
git fast-export --import-marks=tmp-marks \
|
||||
--export-marks=tmp-marks main > /dev/null &&
|
||||
|
@ -1572,7 +1572,7 @@ then
|
||||
|
||||
prepend_var LSAN_OPTIONS : dedup_token_length=9999
|
||||
prepend_var LSAN_OPTIONS : log_exe_name=1
|
||||
prepend_var LSAN_OPTIONS : log_path=\"$TEST_RESULTS_SAN_FILE\"
|
||||
prepend_var LSAN_OPTIONS : log_path="'$TEST_RESULTS_SAN_FILE'"
|
||||
export LSAN_OPTIONS
|
||||
|
||||
elif test "$GIT_TEST_PASSING_SANITIZE_LEAK" = "check" ||
|
||||
@ -1743,6 +1743,7 @@ esac
|
||||
|
||||
( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
|
||||
test -z "$NO_CURL" && test_set_prereq LIBCURL
|
||||
test -z "$NO_ICONV" && test_set_prereq ICONV
|
||||
test -z "$NO_PERL" && test_set_prereq PERL
|
||||
test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
|
||||
test -z "$NO_PYTHON" && test_set_prereq PYTHON
|
||||
|
Loading…
Reference in New Issue
Block a user