Re: Git 2.26.2 and failed self tests on OS X
On Mon, May 4, 2020 at 3:08 PM Torsten Bögershausen <tboegi@web.de> wrote:
Show 29 quoted lines
>
> On Mon, May 04, 2020 at 01:18:06PM -0400, Eric Sunshine wrote:
> > On Mon, May 4, 2020 at 12:52 PM Carlo Marcelo Arenas Belón
> > <carenas@gmail.com> wrote:
> > > On Mon, May 04, 2020 at 03:03:01AM -0400, Jeffrey Walton wrote:
> > > > I'm building Git 2.26.2 from sources on a Mac-mini with OS X 10.12.6
> > > > and a PowerMac with OS X 10.5. Some of the t3902-quoted.sh tests are
> > > > failing.
> > > >
> > > > The Mac-Mini uses Bash 3.2.57(1)-release. The PowerMac uses 3.2.17(1)-release.
> > >
> > > if the problem is the bash version but you can build/install a newer one that
> > > doesn't have this problem [...]
> >
> > My OS X 10.13.6 has Bash 3.2.57, as well, and I'm unable to reproduce
> > these failures, so it seems fairly unlikely that the problem Jeffrey
> > is seeing isn't tied to Bash.
>
> Should I read this as
> ".. seems fairly likely that the problem Jeffrey is seeing is tied to bash" ?
>
> I can't reproduce it either, so my reasoning would rather be
> "The problem is probably not caused by the shipped bash version"
>
> It could be something in the environemt, that confuses our tests here.
>
> Does
> ./t3902-quoted.sh -v -d
> give anything useful ?
Yes, it looks like the command reveals a couple of problems.
I'll have to look into my iconv recipe. It has not changed in a while, so something else may be responsible for the failure. https://github.com/noloader/Build-Scripts/blob/master/build-iconv.sh.
I'm not sure what to do with the HEAD problems.
$ ./t3902-quoted.sh -v -d Initialized empty Git repository in /Users/jwalton/Build-Scripts/git-2.26.2/t/trash directory.t3902-quoted/.git/ expecting success of 3902.1 'setup':
mkdir "$FN" &&
for_each_name "echo initial >\"\$name\"" &&
git add . &&
git commit -q -m Initial && for_each_name "echo second >\"\$name\"" &&
git commit -a -m Second && for_each_name "echo modified >\"\$name\""
fatal: iconv_open(UTF-8,UTF-8-MAC) failed, but needed:
precomposed unicode is not supported.
If you want to use decomposed unicode, run
"git config core.precomposeunicode false"not ok 1 - setup # # # mkdir "$FN" && # for_each_name "echo initial >\"\$name\"" && # git add . && # git commit -q -m Initial && # # for_each_name "echo second >\"\$name\"" && # git commit -a -m Second && # # for_each_name "echo modified >\"\$name\"" # #
expecting success of 3902.2 'setup expected files': cat >expect.quoted <<\EOF && Name "Name and a\nLF" "Name and an\tHT" "Name\"" With SP in it "\346\277\261\351\207\216\t\347\264\224" "\346\277\261\351\207\216\n\347\264\224" "\346\277\261\351\207\216 \347\264\224" "\346\277\261\351\207\216\"\347\264\224" "\346\277\261\351\207\216/file" "\346\277\261\351\207\216\347\264\224" EOF
cat >expect.raw <<\EOF Name "Name and a\nLF" "Name and an\tHT" "Name\"" With SP in it "濱野\t純" "濱野\n純" 濱野 純 "濱野\"純" 濱野/file 濱野純 EOF
ok 2 - setup expected files
expecting success of 3902.3 'check fully quoted output from ls-files':
git ls-files >current && test_cmp expect.quoted current
--- expect.quoted 2020-05-04 19:14:39.000000000 +0000 +++ current 2020-05-04 19:14:39.000000000 +0000
@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"\346\277\261\351\207\216\t\347\264\224"
-"\346\277\261\351\207\216\n\347\264\224"
-"\346\277\261\351\207\216 \347\264\224"
-"\346\277\261\351\207\216\"\347\264\224"
-"\346\277\261\351\207\216/file"
-"\346\277\261\351\207\216\347\264\224"
not ok 3 - check fully quoted output from ls-files
#
#
# git ls-files >current && test_cmp expect.quoted current
#
#
expecting success of 3902.4 'check fully quoted output from diff-files':
git diff --name-only >current &&
test_cmp expect.quoted current
--- expect.quoted 2020-05-04 19:14:39.000000000 +0000
+++ current 2020-05-04 19:14:39.000000000 +0000
@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"\346\277\261\351\207\216\t\347\264\224"
-"\346\277\261\351\207\216\n\347\264\224"
-"\346\277\261\351\207\216 \347\264\224"
-"\346\277\261\351\207\216\"\347\264\224"
-"\346\277\261\351\207\216/file"
-"\346\277\261\351\207\216\347\264\224"
not ok 4 - check fully quoted output from diff-files
#
#
# git diff --name-only >current &&
# test_cmp expect.quoted current
#
#
expecting success of 3902.5 'check fully quoted output from diff-index':
git diff --name-only HEAD >current &&
test_cmp expect.quoted current
fatal: ambiguous argument 'HEAD': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 5 - check fully quoted output from diff-index
#
#
# git diff --name-only HEAD >current &&
# test_cmp expect.quoted current
#
#
expecting success of 3902.6 'check fully quoted output from diff-tree':
git diff --name-only HEAD^ HEAD >current &&
test_cmp expect.quoted current
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 6 - check fully quoted output from diff-tree
#
#
# git diff --name-only HEAD^ HEAD >current &&
# test_cmp expect.quoted current
#
#
expecting success of 3902.7 'check fully quoted output from ls-tree':
git ls-tree --name-only -r HEAD >current &&
test_cmp expect.quoted current
fatal: Not a valid object name HEAD
not ok 7 - check fully quoted output from ls-tree
#
#
# git ls-tree --name-only -r HEAD >current &&
# test_cmp expect.quoted current
#
#
expecting success of 3902.8 'setting core.quotepath':
git config --bool core.quotepath false
ok 8 - setting core.quotepath
expecting success of 3902.9 'check fully quoted output from ls-files':
git ls-files >current && test_cmp expect.raw current
--- expect.raw 2020-05-04 19:14:39.000000000 +0000
+++ current 2020-05-04 19:14:40.000000000 +0000
@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"濱野\t純"
-"濱野\n純"
-濱野 純
-"濱野\"純"
-濱野/file
-濱野純
not ok 9 - check fully quoted output from ls-files
#
#
# git ls-files >current && test_cmp expect.raw current
#
#
expecting success of 3902.10 'check fully quoted output from diff-files':
git diff --name-only >current &&
test_cmp expect.raw current
--- expect.raw 2020-05-04 19:14:39.000000000 +0000
+++ current 2020-05-04 19:14:40.000000000 +0000
@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"濱野\t純"
-"濱野\n純"
-濱野 純
-"濱野\"純"
-濱野/file
-濱野純
not ok 10 - check fully quoted output from diff-files
#
#
# git diff --name-only >current &&
# test_cmp expect.raw current
#
#
expecting success of 3902.11 'check fully quoted output from diff-index':
git diff --name-only HEAD >current &&
test_cmp expect.raw current
fatal: ambiguous argument 'HEAD': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 11 - check fully quoted output from diff-index
#
#
# git diff --name-only HEAD >current &&
# test_cmp expect.raw current
#
#
expecting success of 3902.12 'check fully quoted output from diff-tree':
git diff --name-only HEAD^ HEAD >current &&
test_cmp expect.raw current
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 12 - check fully quoted output from diff-tree
#
#
# git diff --name-only HEAD^ HEAD >current &&
# test_cmp expect.raw current
#
#
expecting success of 3902.13 'check fully quoted output from ls-tree':
git ls-tree --name-only -r HEAD >current &&
test_cmp expect.raw current
fatal: Not a valid object name HEAD
not ok 13 - check fully quoted output from ls-tree
#
#
# git ls-tree --name-only -r HEAD >current &&
# test_cmp expect.raw current
#
#
# failed 11 among 13 test(s)
1..13