{"thread":{"id":"54969","subject":"Git 2.30.0 and failed self tests","startedAt":"2021-01-09T11:34:54Z","lastAt":"2021-01-09T22:27:27Z","messageCount":7,"participants":["Jeffrey Walton","Christian Couder","Matheus Tavares Bernardino","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"413909","messageId":"CAH8yC8mmox3fZTRO7W44whHhT0aPcNUXxrBVg1R7ttwUfVgy1A@mail.gmail.com","threadId":"54969","inReplyTo":null,"subject":"Git 2.30.0 and failed self tests","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2021-01-09T11:29:33Z","receivedAt":"2021-01-09T11:34:54Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"Hi Everyone,\n\nI'm seeing a failed self test with 2.30.0 on Alpine Linux 3.10,\nx86_64. Alpine Linux uses Musl and BusyBox, so things may be a bit\nsideways because of them.\n\n*** t4129-apply-samemode.sh ***\nok 1 - setup\nok 2 - same mode (no index)\nok 3 - same mode (with index)\nok 4 - same mode (index only)\nok 5 - mode update (no index)\nok 6 - mode update (with index)\nok 7 - mode update (index only)\nok 8 - empty mode is rejected\nok 9 - bogus mode is rejected\nnot ok 10 - do not use core.sharedRepository for working tree files\n#\n#        git reset --hard &&\n#        test_config core.sharedRepository 0666 &&\n#        (\n#            # Remove a default ACL if possible.\n#            (setfacl -k newdir 2>/dev/null || true) &&\n#            umask 0077 &&\n#\n#            # Test both files (f1) and leading dirs (d)\n#            mkdir d &&\n#            touch f1 d/f2 &&\n#            git add f1 d/f2 &&\n#            git diff --staged >patch-f1-and-f2.txt &&\n#\n#            rm -rf d f1 &&\n#            git apply patch-f1-and-f2.txt &&\n#\n#            echo \"-rw-------\" >f1_mode.expected &&\n#            echo \"drwx------\" >d_mode.expected &&\n#            test_modebits f1 >f1_mode.actual &&\n#            test_modebits d >d_mode.actual &&\n#            test_cmp f1_mode.expected f1_mode.actual &&\n#            test_cmp d_mode.expected d_mode.actual\n#        )\n#\n# failed 1 among 10 test(s)\n1..10\nmake[2]: *** [Makefile:57: t4129-apply-samemode.sh] Error 1\n\nI don't see a log file to offer for this one:\n\n    $ find . -name '*.log'\n    ./config.log\n\nJeff\n"},{"id":"413910","messageId":"CAP8UFD30et-kL8dFoWvh7aPf4AKbzGxSzTuA=B3YNHZL_1axFA@mail.gmail.com","threadId":"54969","inReplyTo":"CAH8yC8mmox3fZTRO7W44whHhT0aPcNUXxrBVg1R7ttwUfVgy1A@mail.gmail.com","subject":"Re: Git 2.30.0 and failed self tests","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2021-01-09T12:44:14Z","receivedAt":"2021-01-09T12:45:10Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Hi,\n\nOn Sat, Jan 9, 2021 at 12:33 PM Jeffrey Walton <noloader@gmail.com> wrote:\n\n> I'm seeing a failed self test with 2.30.0 on Alpine Linux 3.10,\n> x86_64. Alpine Linux uses Musl and BusyBox, so things may be a bit\n> sideways because of them.\n\nWhen a test script fails, could you try going into the \"t\" directory,\nrunning the test script with -i -v -x and sending the output?\n\n> *** t4129-apply-samemode.sh ***\n\nFor example you could run the above test script with:\n\n$ cd t\n$ ./t4129-apply-samemode.sh -i -v -x\n\nThanks for testing!\n\nChristian.\n"},{"id":"413912","messageId":"CAHd-oW63pduiFr1pXhNZnHnnovhSGh5K=z0AQ1RAwGvbObsL4Q@mail.gmail.com","threadId":"54969","inReplyTo":"CAH8yC8mmox3fZTRO7W44whHhT0aPcNUXxrBVg1R7ttwUfVgy1A@mail.gmail.com","subject":"Re: Git 2.30.0 and failed self tests","fromName":"Matheus Tavares Bernardino","fromEmail":"matheus.bernardino@usp.br","sentAt":"2021-01-09T14:07:52Z","receivedAt":"2021-01-09T14:08:48Z","isPatch":false,"sender":{"key":"matheus.tavb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/12701583?v=4"},"body":"Hi, Jeff\n\nOn Sat, Jan 9, 2021 at 8:32 AM Jeffrey Walton <noloader@gmail.com> wrote:\n>\n> Hi Everyone,\n>\n> I'm seeing a failed self test with 2.30.0 on Alpine Linux 3.10,\n> x86_64. Alpine Linux uses Musl and BusyBox, so things may be a bit\n> sideways because of them.\n>\n> *** t4129-apply-samemode.sh ***\n> ok 1 - setup\n> ok 2 - same mode (no index)\n> ok 3 - same mode (with index)\n> ok 4 - same mode (index only)\n> ok 5 - mode update (no index)\n> ok 6 - mode update (with index)\n> ok 7 - mode update (index only)\n> ok 8 - empty mode is rejected\n> ok 9 - bogus mode is rejected\n> not ok 10 - do not use core.sharedRepository for working tree files\n> #\n> #        git reset --hard &&\n> #        test_config core.sharedRepository 0666 &&\n> #        (\n> #            # Remove a default ACL if possible.\n> #            (setfacl -k newdir 2>/dev/null || true) &&\n> #            umask 0077 &&\n> #\n> #            # Test both files (f1) and leading dirs (d)\n> #            mkdir d &&\n> #            touch f1 d/f2 &&\n> #            git add f1 d/f2 &&\n> #            git diff --staged >patch-f1-and-f2.txt &&\n> #\n> #            rm -rf d f1 &&\n> #            git apply patch-f1-and-f2.txt &&\n> #\n> #            echo \"-rw-------\" >f1_mode.expected &&\n> #            echo \"drwx------\" >d_mode.expected &&\n> #            test_modebits f1 >f1_mode.actual &&\n> #            test_modebits d >d_mode.actual &&\n> #            test_cmp f1_mode.expected f1_mode.actual &&\n> #            test_cmp d_mode.expected d_mode.actual\n> #        )\n> #\n> # failed 1 among 10 test(s)\n\nDo you happen to have a default ACL rule or the setgid bit set on the\ntest directory (or a parent directory)? This test is currently failing\nunder these circumstances, but there are already two patches that fix\nthese issues:\n\nhttps://lore.kernel.org/git/b734425e3235651e738e6eac47eae0db7db92e7e.1609861567.git.matheus.bernardino@usp.br/\nhttps://lore.kernel.org/git/20201223114431.4595-1-adam@dinwoodie.org/\n\nThanks,\nMatheus\n"},{"id":"413921","messageId":"CAH8yC8kdOrramqggwQ0HBLpub8_+7N+kuvfaCHRokamKFjer4Q@mail.gmail.com","threadId":"54969","inReplyTo":"CAP8UFD30et-kL8dFoWvh7aPf4AKbzGxSzTuA=B3YNHZL_1axFA@mail.gmail.com","subject":"Re: Git 2.30.0 and failed self tests","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2021-01-09T19:40:18Z","receivedAt":"2021-01-09T19:41:27Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Sat, Jan 9, 2021 at 7:44 AM Christian Couder\n<christian.couder@gmail.com> wrote:\n>\n> On Sat, Jan 9, 2021 at 12:33 PM Jeffrey Walton <noloader@gmail.com> wrote:\n>\n> > I'm seeing a failed self test with 2.30.0 on Alpine Linux 3.10,\n> > x86_64. Alpine Linux uses Musl and BusyBox, so things may be a bit\n> > sideways because of them.\n>\n> When a test script fails, could you try going into the \"t\" directory,\n> running the test script with -i -v -x and sending the output?\n>\n> > *** t4129-apply-samemode.sh ***\n>\n> For example you could run the above test script with:\n>\n> $ cd t\n> $ ./t4129-apply-samemode.sh -i -v -x\n\nThanks Christian and Matheus,\n\nAttached is the redirected output of t4129.\n\nI noticed Alpine does not provide setfacl:\n\n    $ setfacl -k newdir\n    -sh: setfacl: not found\n\nJeff\n\n\nInitialized empty Git repository in /home/jwalton/Build-Scripts/git-2.30.0/t/trash directory.t4129-apply-samemode/.git/\nexpecting success of 4129.1 'setup': \n\techo original >file &&\n\tgit add file &&\n\ttest_tick &&\n\tgit commit -m initial &&\n\tgit tag initial &&\n\techo modified >file &&\n\tgit diff --stat -p >patch-0.txt &&\n\tchmod +x file &&\n\tgit diff --stat -p >patch-1.txt &&\n\tsed \"s/^\\(new mode \\).*/\\1/\" <patch-1.txt >patch-empty-mode.txt &&\n\tsed \"s/^\\(new mode \\).*/\\1garbage/\" <patch-1.txt >patch-bogus-mode.txt\n\n+ echo original\n+ git add file\n+ test_tick\n+ test -z \n+ test_tick=1112911993\n+ GIT_COMMITTER_DATE='1112911993 -0700'\n+ GIT_AUTHOR_DATE='1112911993 -0700'\n+ export GIT_COMMITTER_DATE GIT_AUTHOR_DATE\n+ git commit -m initial\n[master (root-commit) e950771] initial\n Author: A U Thor <author@example.com>\n 1 file changed, 1 insertion(+)\n create mode 100644 file\n+ git tag initial\n+ echo modified\n+ git diff --stat -p\n+ chmod +x file\n+ git diff --stat -p\n+ sed 's/^\\(new mode \\).*/\\1/'\n+ sed 's/^\\(new mode \\).*/\\1garbage/'\nok 1 - setup\n\nchecking prerequisite: FILEMODE\n\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-FILEMODE\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-FILEMODE\" &&\n\ttest \"$(git config --bool core.filemode)\" = true\n\n)\n+ mkdir -p '/home/jwalton/Build-Scripts/git-2.30.0/t/trash directory.t4129-apply-samemode/prereq-test-dir-FILEMODE'\n+ cd '/home/jwalton/Build-Scripts/git-2.30.0/t/trash directory.t4129-apply-samemode/prereq-test-dir-FILEMODE'\n+ git config --bool core.filemode\n+ test true '=' true\nprerequisite FILEMODE ok\nexpecting success of 4129.2 'same mode (no index)': \n\tgit reset --hard &&\n\tchmod +x file &&\n\tgit apply patch-0.txt &&\n\ttest -x file\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ chmod +x file\n+ git apply patch-0.txt\nwarning: file has type 100755, expected 100644\n+ test -x file\nok 2 - same mode (no index)\n\nexpecting success of 4129.3 'same mode (with index)': \n\tgit reset --hard &&\n\tchmod +x file &&\n\tgit add file &&\n\tgit apply --index patch-0.txt &&\n\ttest -x file &&\n\tgit diff --exit-code\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ chmod +x file\n+ git add file\n+ git apply --index patch-0.txt\nwarning: file has type 100755, expected 100644\n+ test -x file\n+ git diff --exit-code\nok 3 - same mode (with index)\n\nexpecting success of 4129.4 'same mode (index only)': \n\tgit reset --hard &&\n\tchmod +x file &&\n\tgit add file &&\n\tgit apply --cached patch-0.txt &&\n\tgit ls-files -s file | grep \"^100755\"\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ chmod +x file\n+ git add file\n+ git apply --cached patch-0.txt\nwarning: file has type 100755, expected 100644\n+ git ls-files -s file\n+ grep ^100755\n100755 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0\tfile\nok 4 - same mode (index only)\n\nexpecting success of 4129.5 'mode update (no index)': \n\tgit reset --hard &&\n\tgit apply patch-1.txt &&\n\ttest -x file\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ git apply patch-1.txt\n+ test -x file\nok 5 - mode update (no index)\n\nexpecting success of 4129.6 'mode update (with index)': \n\tgit reset --hard &&\n\tgit apply --index patch-1.txt &&\n\ttest -x file &&\n\tgit diff --exit-code\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ git apply --index patch-1.txt\n+ test -x file\n+ git diff --exit-code\nok 6 - mode update (with index)\n\nexpecting success of 4129.7 'mode update (index only)': \n\tgit reset --hard &&\n\tgit apply --cached patch-1.txt &&\n\tgit ls-files -s file | grep \"^100755\"\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ git apply --cached patch-1.txt\n+ git ls-files -s file\n+ grep ^100755\n100755 2e0996000b7e9019eabcad29391bf0f5c7702f0b 0\tfile\nok 7 - mode update (index only)\n\nexpecting success of 4129.8 'empty mode is rejected': \n\tgit reset --hard &&\n\ttest_must_fail git apply patch-empty-mode.txt 2>err &&\n\ttest_i18ngrep \"invalid mode\" err\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ test_must_fail git apply patch-empty-mode.txt\n+ _test_ok=\n+ test_must_fail_acceptable git apply patch-empty-mode.txt\n+ test git '=' env\n+ return 0\n+ git apply patch-empty-mode.txt\n+ exit_code=128\n+ test 128 -eq 0\n+ test_match_signal 13 128\n+ test 128 '=' 141\n+ test 128 '=' 269\n+ return 1\n+ test 128 -gt 129\n+ test 128 -eq 127\n+ test 128 -eq 126\n+ return 0\n+ test_i18ngrep 'invalid mode' err\n+ eval 'last_arg=${2}'\n+ last_arg=err\n+ test -f err\n+ test 2 -lt 2\n+ test 'x!' '=' 'xinvalid mode'\n+ test_have_prereq '!C_LOCALE_OUTPUT'\n+ save_IFS=' \t\n'\n+ IFS=,\n+ set -- '!C_LOCALE_OUTPUT'\n+ IFS=' \t\n'\n+ total_prereq=0\n+ ok_prereq=0\n+ missing_prereq=\n+ negative_prereq=t\n+ prerequisite=C_LOCALE_OUTPUT\n+ eval 'script=$test_prereq_lazily_C_LOCALE_OUTPUT'\n+ script='\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n'\n+ test_run_lazy_prereq_ C_LOCALE_OUTPUT '\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n'\n+ script='\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)'\n+ say 'checking prerequisite: C_LOCALE_OUTPUT'\n+ say_color info 'checking prerequisite: C_LOCALE_OUTPUT'\n+ test -z info\n+ shift\n+ printf '%s\\n' 'checking prerequisite: C_LOCALE_OUTPUT'\nchecking prerequisite: C_LOCALE_OUTPUT\n+ say '\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)'\n+ say_color info '\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)'\n+ test -z info\n+ shift\n+ printf '%s\\n' '\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)'\n\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)\n+ test_eval_ '\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)'\n+ test_eval_inner_ '\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)'\n+ eval '\n\t\twant_trace && trace_level_=2 && set -x\n\t\t\nmkdir -p \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n(\n\tcd \"$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT\" &&\n\t! test_bool_env GIT_TEST_GETTEXT_POISON false\n\n)'\n+ want_trace\n+ test t '=' t\n+ test t '=' t\n+ trace_level_=2\n+ set -x\n+ mkdir -p '/home/jwalton/Build-Scripts/git-2.30.0/t/trash directory.t4129-apply-samemode/prereq-test-dir-C_LOCALE_OUTPUT'\n+ cd '/home/jwalton/Build-Scripts/git-2.30.0/t/trash directory.t4129-apply-samemode/prereq-test-dir-C_LOCALE_OUTPUT'\n+ test_bool_env GIT_TEST_GETTEXT_POISON false\n+ test 2 '!=' 2\n+ git env--helper '--type=bool' '--default=false' --exit-code GIT_TEST_GETTEXT_POISON\n+ ret=1\n+ return 1\n+ test 0 '!=' 0\n+ return 0\n+ eval_ret=0\n+ rm -rf '/home/jwalton/Build-Scripts/git-2.30.0/t/trash directory.t4129-apply-samemode/prereq-test-dir-C_LOCALE_OUTPUT'\n+ test 0 '=' 0\n+ say 'prerequisite C_LOCALE_OUTPUT ok'\n+ say_color info 'prerequisite C_LOCALE_OUTPUT ok'\n+ test -z info\n+ shift\n+ printf '%s\\n' 'prerequisite C_LOCALE_OUTPUT ok'\nprerequisite C_LOCALE_OUTPUT ok\n+ return 0\n+ test_set_prereq C_LOCALE_OUTPUT\n+ test -n \n+ satisfied_prereq=' POSIXPERM BSLASHPSPEC EXECKEEPSPID COLUMNS_CAN_BE_1 PERL PTHREADS PYTHON PCRE LIBPCRE2 GETTEXT FILEMODE C_LOCALE_OUTPUT '\n+ lazily_tested_prereq='FILEMODE C_LOCALE_OUTPUT '\n+ total_prereq=1\n+ satisfied_this_prereq=t\n+ prerequisite='!C_LOCALE_OUTPUT'\n+ test -z \n+ missing_prereq='!C_LOCALE_OUTPUT'\n+ test 1 '=' 0\n+ test 'x!' '=' 'xinvalid mode'\n+ grep 'invalid mode' err\nerror: invalid mode on line 5: \n+ return 0\nok 8 - empty mode is rejected\n\nexpecting success of 4129.9 'bogus mode is rejected': \n\tgit reset --hard &&\n\ttest_must_fail git apply patch-bogus-mode.txt 2>err &&\n\ttest_i18ngrep \"invalid mode\" err\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ test_must_fail git apply patch-bogus-mode.txt\n+ _test_ok=\n+ test_must_fail_acceptable git apply patch-bogus-mode.txt\n+ test git '=' env\n+ return 0\n+ git apply patch-bogus-mode.txt\n+ exit_code=128\n+ test 128 -eq 0\n+ test_match_signal 13 128\n+ test 128 '=' 141\n+ test 128 '=' 269\n+ return 1\n+ test 128 -gt 129\n+ test 128 -eq 127\n+ test 128 -eq 126\n+ return 0\n+ test_i18ngrep 'invalid mode' err\n+ eval 'last_arg=${2}'\n+ last_arg=err\n+ test -f err\n+ test 2 -lt 2\n+ test 'x!' '=' 'xinvalid mode'\n+ test_have_prereq '!C_LOCALE_OUTPUT'\n+ save_IFS=' \t\n'\n+ IFS=,\n+ set -- '!C_LOCALE_OUTPUT'\n+ IFS=' \t\n'\n+ total_prereq=0\n+ ok_prereq=0\n+ missing_prereq=\n+ negative_prereq=t\n+ prerequisite=C_LOCALE_OUTPUT\n+ total_prereq=1\n+ satisfied_this_prereq=t\n+ prerequisite='!C_LOCALE_OUTPUT'\n+ test -z \n+ missing_prereq='!C_LOCALE_OUTPUT'\n+ test 1 '=' 0\n+ test 'x!' '=' 'xinvalid mode'\n+ grep 'invalid mode' err\nerror: invalid mode on line 5: garbage\n+ return 0\nok 9 - bogus mode is rejected\n\nexpecting success of 4129.10 'do not use core.sharedRepository for working tree files': \n\tgit reset --hard &&\n\ttest_config core.sharedRepository 0666 &&\n\t(\n\t\t# Remove a default ACL if possible.\n\t\t(setfacl -k newdir 2>/dev/null || true) &&\n\t\tumask 0077 &&\n\n\t\t# Test both files (f1) and leading dirs (d)\n\t\tmkdir d &&\n\t\ttouch f1 d/f2 &&\n\t\tgit add f1 d/f2 &&\n\t\tgit diff --staged >patch-f1-and-f2.txt &&\n\n\t\trm -rf d f1 &&\n\t\tgit apply patch-f1-and-f2.txt &&\n\n\t\techo \"-rw-------\" >f1_mode.expected &&\n\t\techo \"drwx------\" >d_mode.expected &&\n\t\ttest_modebits f1 >f1_mode.actual &&\n\t\ttest_modebits d >d_mode.actual &&\n\t\ttest_cmp f1_mode.expected f1_mode.actual &&\n\t\ttest_cmp d_mode.expected d_mode.actual\n\t)\n\n+ git reset --hard\nHEAD is now at e950771 initial\n+ test_config core.sharedRepository 0666\n+ config_dir=\n+ test core.sharedRepository '=' -C\n+ test_when_finished 'test_unconfig  '\"'\"'core.sharedRepository'\"'\"\n+ test 0 '=' 0\n+ test_cleanup='{ test_unconfig  '\"'\"'core.sharedRepository'\"'\"'\n\t\t} && (exit \"$eval_ret\"); eval_ret=$?; :'\n+ git config core.sharedRepository 0666\n+ setfacl -k newdir\n+ true\n+ umask 0077\n+ mkdir d\n+ touch f1 d/f2\n+ git add f1 d/f2\n+ git diff --staged\n+ rm -rf d f1\n+ git apply patch-f1-and-f2.txt\n+ echo -rw-------\n+ echo drwx------\n+ test_modebits f1\n+ + sed -els 's|^\\(..........\\).*|\\1|' -ld\n f1\n+ test_modebits d\n+ ls+  -ld dsed\n -e 's|^\\(..........\\).*|\\1|'\n+ test_cmp f1_mode.expected f1_mode.actual\n+ eval 'diff -u' '\"$@\"'\n+ diff -u f1_mode.expected f1_mode.actual\n+ test_cmp d_mode.expected d_mode.actual\n+ eval 'diff -u' '\"$@\"'\n+ diff -u d_mode.expected d_mode.actual\n--- d_mode.expected\n+++ d_mode.actual\n@@ -1 +1 @@\n-drwx------\n+drwx--S---\nerror: last command exited with $?=1\nnot ok 10 - do not use core.sharedRepository for working tree files\n#\t\n#\t\tgit reset --hard &&\n#\t\ttest_config core.sharedRepository 0666 &&\n#\t\t(\n#\t\t\t# Remove a default ACL if possible.\n#\t\t\t(setfacl -k newdir 2>/dev/null || true) &&\n#\t\t\tumask 0077 &&\n#\t\n#\t\t\t# Test both files (f1) and leading dirs (d)\n#\t\t\tmkdir d &&\n#\t\t\ttouch f1 d/f2 &&\n#\t\t\tgit add f1 d/f2 &&\n#\t\t\tgit diff --staged >patch-f1-and-f2.txt &&\n#\t\n#\t\t\trm -rf d f1 &&\n#\t\t\tgit apply patch-f1-and-f2.txt &&\n#\t\n#\t\t\techo \"-rw-------\" >f1_mode.expected &&\n#\t\t\techo \"drwx------\" >d_mode.expected &&\n#\t\t\ttest_modebits f1 >f1_mode.actual &&\n#\t\t\ttest_modebits d >d_mode.actual &&\n#\t\t\ttest_cmp f1_mode.expected f1_mode.actual &&\n#\t\t\ttest_cmp d_mode.expected d_mode.actual\n#\t\t)\n#\t\n"},{"id":"413922","messageId":"CAHd-oW48jK7o_L06FR515JvYNB0ZRZ25TR0WktfEpCzgQMGAGw@mail.gmail.com","threadId":"54969","inReplyTo":"CAH8yC8kdOrramqggwQ0HBLpub8_+7N+kuvfaCHRokamKFjer4Q@mail.gmail.com","subject":"Re: Git 2.30.0 and failed self tests","fromName":"Matheus Tavares Bernardino","fromEmail":"matheus.bernardino@usp.br","sentAt":"2021-01-09T20:15:58Z","receivedAt":"2021-01-09T20:16:54Z","isPatch":false,"sender":{"key":"matheus.tavb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/12701583?v=4"},"body":"On Sat, Jan 9, 2021 at 4:42 PM Jeffrey Walton <noloader@gmail.com> wrote:\n>\n> On Sat, Jan 9, 2021 at 7:44 AM Christian Couder\n> <christian.couder@gmail.com> wrote:\n> >\n> > On Sat, Jan 9, 2021 at 12:33 PM Jeffrey Walton <noloader@gmail.com> wrote:\n> >\n> > > I'm seeing a failed self test with 2.30.0 on Alpine Linux 3.10,\n> > > x86_64. Alpine Linux uses Musl and BusyBox, so things may be a bit\n> > > sideways because of them.\n> >\n> > When a test script fails, could you try going into the \"t\" directory,\n> > running the test script with -i -v -x and sending the output?\n> >\n> > > *** t4129-apply-samemode.sh ***\n> >\n> > For example you could run the above test script with:\n> >\n> > $ cd t\n> > $ ./t4129-apply-samemode.sh -i -v -x\n>\n> Thanks Christian and Matheus,\n>\n> Attached is the redirected output of t4129.\n\nThanks for sending the output. Yeah, the problem is that the test\ndoesn't account for the presence of the setgid bit (which is inherited\nfrom a parent dir). Here is the relevant part:\n\n+ diff -u d_mode.expected d_mode.actual\n--- d_mode.expected\n+++ d_mode.actual\n@@ -1 +1 @@\n-drwx------\n+drwx--S---\nerror: last command exited with $?=1\n\nA patch fixing this issue was already sent, and it is marked to be\nmerged to next:\nhttps://lore.kernel.org/git/b734425e3235651e738e6eac47eae0db7db92e7e.1609861567.git.matheus.bernardino@usp.br/\n"},{"id":"413923","messageId":"CAH8yC8mMyS3-PjhcuizVzQGrAU_TyuNu4jdPZdpcmEBvZXjH2A@mail.gmail.com","threadId":"54969","inReplyTo":"CAHd-oW48jK7o_L06FR515JvYNB0ZRZ25TR0WktfEpCzgQMGAGw@mail.gmail.com","subject":"Re: Git 2.30.0 and failed self tests","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2021-01-09T20:36:23Z","receivedAt":"2021-01-09T20:37:31Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Sat, Jan 9, 2021 at 3:16 PM Matheus Tavares Bernardino\n<matheus.bernardino@usp.br> wrote:\n> On Sat, Jan 9, 2021 at 4:42 PM Jeffrey Walton <noloader@gmail.com> wrote:\n> > On Sat, Jan 9, 2021 at 7:44 AM Christian Couder\n> > ...\n> > Thanks Christian and Matheus,\n> >\n> > Attached is the redirected output of t4129.\n>\n> Thanks for sending the output. Yeah, the problem is that the test\n> doesn't account for the presence of the setgid bit (which is inherited\n> from a parent dir). Here is the relevant part:\n>\n> + diff -u d_mode.expected d_mode.actual\n> --- d_mode.expected\n> +++ d_mode.actual\n> @@ -1 +1 @@\n> -drwx------\n> +drwx--S---\n> error: last command exited with $?=1\n>\n> A patch fixing this issue was already sent, and it is marked to be\n> merged to next:\n> https://lore.kernel.org/git/b734425e3235651e738e6eac47eae0db7db92e7e.1609861567.git.matheus.bernardino@usp.br/\n\nPerfect, thanks. It tested OK.\n\nJeff\n"},{"id":"413935","messageId":"xmqqy2h1eoh7.fsf@gitster.c.googlers.com","threadId":"54969","inReplyTo":"CAH8yC8mmox3fZTRO7W44whHhT0aPcNUXxrBVg1R7ttwUfVgy1A@mail.gmail.com","subject":"Re: Git 2.30.0 and failed self tests","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-01-09T22:26:28Z","receivedAt":"2021-01-09T22:27:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeffrey Walton <noloader@gmail.com> writes:\n\n> I'm seeing a failed self test with 2.30.0 on Alpine Linux 3.10,\n> x86_64. Alpine Linux uses Musl and BusyBox, so things may be a bit\n> sideways because of them.\n>\n> *** t4129-apply-samemode.sh ***\n> ok 1 - setup\n> ...\n\nI thought that Alpine with Musl is part of our automated tests.\nLet's see if we had any test failures there.\n\n  https://github.com/git/git/runs/1618243621?check_suite_focus=true\n\nIt seems that we didn't notice anything strange while running t4129\nthere.\n\n  https://github.com/git/git/runs/1618243621?check_suite_focus=true#step:5:1080\n\nNote that it seems that GitHub gives the full output only to logged\nin users.\n\n"}]}