{"thread":{"id":"14143","subject":"Errors building git-1.5.6 from source on Mac OS X 10.4.11","startedAt":"2008-06-25T13:20:39Z","lastAt":"2008-06-28T20:34:48Z","messageCount":7,"participants":["Ifejinelo Onyiah","Johannes Gilger","Alex Riesen"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"81116","messageId":"2eb980790806250620t73ae0ff7heedb65780a66ad00@mail.gmail.com","threadId":"14143","inReplyTo":null,"subject":"Errors building git-1.5.6 from source on Mac OS X 10.4.11","fromName":"Ifejinelo Onyiah","fromEmail":"nelo.onyiah@googlemail.com","sentAt":"2008-06-25T13:20:39Z","receivedAt":"2008-06-25T13:20:39Z","isPatch":false,"sender":{"key":"nelo.onyiah@googlemail.com","avatar":null},"body":"Hi,\n\nI have made several attempts to build Git (version 1.5.6) on my Mac OS\nX 10.4.11 (Tiger) but have had little luck. At the time of my last try\n (2008-06-25 11:08) there were no pre-built binaries for Tiger on the\nGit home page. I downloaded the source file from home page and issued\nthe following commands:\n\n% tar -xzf git-1.5.6.tar.gz\n% cd git-1.5.6\n% ./configure --prefix=/Users/io1/Applications/Git/1.5.6\n% make\n\nThey all run fine but when I issue the make test command, it dies at\nthe following:\n\n% make test\n\n... TRUNCATED OUTPUT ...\n\n*** t2004-checkout-cache-temp.sh ***\n* FAIL 1: preparation\n\n        mkdir asubdir &&\n        echo tree1path0 >path0 &&\n        echo tree1path1 >path1 &&\n        echo tree1path3 >path3 &&\n        echo tree1path4 >path4 &&\n        echo tree1asubdir/path5 >asubdir/path5 &&\n        git update-index --add path0 path1 path3 path4 asubdir/path5 &&\n        t1=$(git write-tree) &&\n        rm -f path* .merge_* out .git/index &&\n        echo tree2path0 >path0 &&\n        echo tree2path1 >path1 &&\n        echo tree2path2 >path2 &&\n        echo tree2path4 >path4 &&\n        git update-index --add path0 path1 path2 path4 &&\n        t2=$(git write-tree) &&\n        rm -f path* .merge_* out .git/index &&\n        echo tree2path0 >path0 &&\n        echo tree3path1 >path1 &&\n        echo tree3path2 >path2 &&\n        echo tree3path3 >path3 &&\n        git update-index --add path0 path1 path2 path3 &&\n        t3=$(git write-tree)\n*   ok 2: checkout one stage 0 to temporary file\n*   ok 3: checkout all stage 0 to temporary files\n*   ok 4: prepare 3-way merge\n* FAIL 5: checkout one stage 2 to temporary file\n\n        rm -f path* .merge_* out &&\n        git checkout-index --stage=2 --temp -- path1 >out &&\n        test $(wc -l <out) = 1 &&\n        test $(cut \"-d  \" -f2 out) = path1 &&\n        p=$(cut \"-d     \" -f1 out) &&\n        test -f $p &&\n        test $(cat $p) = tree2path1\n* FAIL 6: checkout all stage 2 to temporary files\n\n        rm -f path* .merge_* out &&\n        git checkout-index --all --stage=2 --temp >out &&\n        test $(wc -l <out) = 3 &&\n        for f in path1 path2 path4\n        do\n                test $(grep $f out | cut \"-d    \" -f2) = $f &&\n                p=$(grep $f out | cut \"-d       \" -f1) &&\n                test -f $p &&\n                test $(cat $p) = tree2$f\n        done\n*   ok 7: checkout all stages/one file to nothing\n* FAIL 8: checkout all stages/one file to temporary files\n\n        rm -f path* .merge_* out &&\n        git checkout-index --stage=all --temp -- path1 >out &&\n        test $(wc -l <out) = 1 &&\n        test $(cut \"-d  \" -f2 out) = path1 &&\n        cut \"-d \" -f1 out | (read s1 s2 s3 &&\n        test -f $s1 &&\n        test -f $s2 &&\n        test -f $s3 &&\n        test $(cat $s1) = tree1path1 &&\n        test $(cat $s2) = tree2path1 &&\n        test $(cat $s3) = tree3path1)\n* FAIL 9: checkout some stages/one file to temporary files\n\n        rm -f path* .merge_* out &&\n        git checkout-index --stage=all --temp -- path2 >out &&\n        test $(wc -l <out) = 1 &&\n        test $(cut \"-d  \" -f2 out) = path2 &&\n        cut \"-d \" -f1 out | (read s1 s2 s3 &&\n        test $s1 = . &&\n        test -f $s2 &&\n        test -f $s3 &&\n        test $(cat $s2) = tree2path2 &&\n        test $(cat $s3) = tree3path2)\n* FAIL 10: checkout all stages/all files to temporary files\n\n        rm -f path* .merge_* out &&\n        git checkout-index -a --stage=all --temp >out &&\n        test $(wc -l <out) = 5\n*   ok 11: -- path0: no entry\n* FAIL 12: -- path1: all 3 stages\n\n        test $(grep path1 out | cut \"-d \" -f2) = path1 &&\n        grep path1 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\n        test -f $s1 &&\n        test -f $s2 &&\n        test -f $s3 &&\n        test $(cat $s1) = tree1path1 &&\n        test $(cat $s2) = tree2path1 &&\n        test $(cat $s3) = tree3path1)\n* FAIL 13: -- path2: no stage 1, have stage 2 and 3\n\n        test $(grep path2 out | cut \"-d \" -f2) = path2 &&\n        grep path2 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\n        test $s1 = . &&\n        test -f $s2 &&\n        test -f $s3 &&\n        test $(cat $s2) = tree2path2 &&\n        test $(cat $s3) = tree3path2)\n* FAIL 14: -- path3: no stage 2, have stage 1 and 3\n\n        test $(grep path3 out | cut \"-d \" -f2) = path3 &&\n        grep path3 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\n        test -f $s1 &&\n        test $s2 = . &&\n        test -f $s3 &&\n        test $(cat $s1) = tree1path3 &&\n        test $(cat $s3) = tree3path3)\n* FAIL 15: -- path4: no stage 3, have stage 1 and 3\n\n        test $(grep path4 out | cut \"-d \" -f2) = path4 &&\n        grep path4 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\n        test -f $s1 &&\n        test -f $s2 &&\n        test $s3 = . &&\n        test $(cat $s1) = tree1path4 &&\n        test $(cat $s2) = tree2path4)\n* FAIL 16: -- asubdir/path5: no stage 2 and 3 have stage 1\n\n        test $(grep asubdir/path5 out | cut \"-d \" -f2) = asubdir/path5 &&\n        grep asubdir/path5 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\n        test -f $s1 &&\n        test $s2 = . &&\n        test $s3 = . &&\n        test $(cat $s1) = tree1asubdir/path5)\n* FAIL 17: checkout --temp within subdir\n\n        (cd asubdir &&\n         git checkout-index -a --stage=all >out &&\n         test $(wc -l <out) = 1 &&\n         test $(grep path5 out | cut \"-d        \" -f2) = path5 &&\n         grep path5 out | cut \"-d       \" -f1 | (read s1 s2 s3 &&\n         test -f ../$s1 &&\n         test $s2 = . &&\n         test $s3 = . &&\n         test $(cat ../$s1) = tree1asubdir/path5)\n        )\n*   ok 18: checkout --temp symlink\n* failed 12 among 18 test(s)\nmake[1]: *** [t2004-checkout-cache-temp.sh] Error 1\nmake: *** [test] Error 2\n\n%\n\nI have searched the mailing lists and googled around but have yet to\nturn up a satisfactory solution. Hence I come to you.\n\nAny assistance will be greatly appreciated.\n\n_____________________________\n\nIfejinelo Onyiah\n\nComputer Biologist\nGenome Dynamics and Evolution Group\nWellcome Trust Sanger Institute\nHinxton\nCambridge CB10 1SA\nUK\n"},{"id":"81120","messageId":"20080625143821.GA2588@dualtron.vpn.rwth-aachen.de","threadId":"14143","inReplyTo":"2eb980790806250620t73ae0ff7heedb65780a66ad00@mail.gmail.com","subject":"Re: Errors building git-1.5.6 from source on Mac OS X 10.4.11","fromName":"Johannes Gilger","fromEmail":"heipei@hackvalue.de","sentAt":"2008-06-25T14:38:30Z","receivedAt":"2008-06-25T14:38:30Z","isPatch":false,"sender":{"key":"heipei@hackvalue.de","avatar":"https://avatars.githubusercontent.com/u/6072?v=4"},"body":"On 25/06/08 14:20, Ifejinelo Onyiah wrote:\n> I have made several attempts to build Git (version 1.5.6) on my Mac OS\n> X 10.4.11 (Tiger) but have had little luck. At the time of my last try\n>  (2008-06-25 11:08) there were no pre-built binaries for Tiger on the\n> Git home page. I downloaded the source file from home page and issued\n> the following commands:\n\nHi,\n\nI just followed your exact instructions (even using the same prefix in \nconfigure) and ran the whole test-suite (and after that the offending \ntest t2004 by itself again). It worked without a flaw here, though that \nprobably does not help you much.\n\nI too am using Mac OS 10.4.11 with GCC 4.0.1. Just wanted to let you \nknow.\n\nRegards,\nJojo\n\n-- \ngit version 1.5.6.12.g73f03\n"},{"id":"81150","messageId":"20080625175311.GB4039@steel.home","threadId":"14143","inReplyTo":"2eb980790806250620t73ae0ff7heedb65780a66ad00@mail.gmail.com","subject":"Re: Errors building git-1.5.6 from source on Mac OS X 10.4.11","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2008-06-25T17:53:11Z","receivedAt":"2008-06-25T17:53:11Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Ifejinelo Onyiah, Wed, Jun 25, 2008 15:20:39 +0200:\n> \n> They all run fine but when I issue the make test command, it dies at\n> the following:\n> \n> % make test\n> \n> ... TRUNCATED OUTPUT ...\n> \n> *** t2004-checkout-cache-temp.sh ***\n> * FAIL 1: preparation\n> \n\nIf you don't mind helping the investigation a bit, could you please go\ninto the t/ directory and run\n\n    bash -x t2004-checkout-cache-temp.sh -d -v -i\n\nand post the output here? This diagnostics are much more useful\n(well, essential, in this case). Are running the tests on HFS+, BTW?\n"},{"id":"81257","messageId":"2eb980790806260148p7713a546k641d96a956e9b0fa@mail.gmail.com","threadId":"14143","inReplyTo":"20080625175311.GB4039@steel.home","subject":"Re: Errors building git-1.5.6 from source on Mac OS X 10.4.11","fromName":"Ifejinelo Onyiah","fromEmail":"nelo.onyiah@googlemail.com","sentAt":"2008-06-26T08:48:16Z","receivedAt":"2008-06-26T08:48:16Z","isPatch":false,"sender":{"key":"nelo.onyiah@googlemail.com","avatar":null},"body":"2008/6/25 Alex Riesen <raa.lkml@gmail.com>:\n> Ifejinelo Onyiah, Wed, Jun 25, 2008 15:20:39 +0200:\n>>\n>> They all run fine but when I issue the make test command, it dies at\n>> the following:\n>>\n>> % make test\n>>\n>> ... TRUNCATED OUTPUT ...\n>>\n>> *** t2004-checkout-cache-temp.sh ***\n>> * FAIL 1: preparation\n>>\n>\n> If you don't mind helping the investigation a bit, could you please go\n> into the t/ directory and run\n>\n>    bash -x t2004-checkout-cache-temp.sh -d -v -i\n>\n> and post the output here?\n\n\nI ran that command and it seemed to run with no problems. I have\nprovided the output in 2 attached text files. I hope that is ok.\n\n> This diagnostics are much more useful (well, essential, in this case). Are running the tests on HFS+, BTW?\n>\n\n I am not sure of that. This is my first time I've heard of HFS+.\n\n\n+ test_description=git checkout-index --temp test.\n\nWith --temp flag, git checkout-index writes to temporary merge files\nrather than the tracked path.\n+ . ./test-lib.sh\n++ ORIGINAL_TERM=xterm-color\n++ LANG=C\n++ LC_ALL=C\n++ PAGER=cat\n++ TZ=UTC\n++ TERM=dumb\n++ export LANG LC_ALL PAGER TERM TZ\n++ EDITOR=:\n++ VISUAL=:\n++ unset GIT_EDITOR\n++ unset AUTHOR_DATE\n++ unset AUTHOR_EMAIL\n++ unset AUTHOR_NAME\n++ unset COMMIT_AUTHOR_EMAIL\n++ unset COMMIT_AUTHOR_NAME\n++ unset EMAIL\n++ unset GIT_ALTERNATE_OBJECT_DIRECTORIES\n++ unset GIT_AUTHOR_DATE\n++ GIT_AUTHOR_EMAIL=author@example.com\n++ GIT_AUTHOR_NAME=A U Thor\n++ unset GIT_COMMITTER_DATE\n++ GIT_COMMITTER_EMAIL=committer@example.com\n++ GIT_COMMITTER_NAME=C O Mitter\n++ unset GIT_DIFF_OPTS\n++ unset GIT_DIR\n++ unset GIT_WORK_TREE\n++ unset GIT_EXTERNAL_DIFF\n++ unset GIT_INDEX_FILE\n++ unset GIT_OBJECT_DIRECTORY\n++ unset SHA1_FILE_DIRECTORIES\n++ unset SHA1_FILE_DIRECTORY\n++ GIT_MERGE_VERBOSITY=5\n++ export GIT_MERGE_VERBOSITY\n++ export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME\n++ export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME\n++ export EDITOR VISUAL\n++ GIT_TEST_CMP=diff -u\n++ unset CDPATH\n+++ echo\n+++ tr '[A-Z]' '[a-z]'\n++ '[' xxterm-color '!=' xdumb ']'\n++ TERM=xterm-color\n++ export TERM\n++ '[' -t 1 ']'\n++ test 3 -ne 0\n++ debug=t\n++ shift\n++ test 2 -ne 0\n++ verbose=t\n++ shift\n++ test 1 -ne 0\n++ immediate=t\n++ shift\n++ test 0 -ne 0\n++ test -n ''\n++ test 'git checkout-index --temp test.\n\nWith --temp flag, git checkout-index writes to temporary merge files\nrather than the tracked path.' '!=' ''\n++ test '' = t\n++ exec\n++ test t = t\n++ exec\n++ test_failure=0\n++ test_count=0\n++ test_fixed=0\n++ test_broken=0\n++ trap die exit\n+++ pwd\n++ PATH=/Users/io1/Desktop/git-1.5.6/t/..:/usr/local/bin:/usr/local/mysql/bin:/Users/io1/Applications/Ruby/bin:/Users/io1/Applications/Perl/bin:/bin:/sbin:/usr/bin:/usr/sbin\n+++ pwd\n++ GIT_EXEC_PATH=/Users/io1/Desktop/git-1.5.6/t/..\n+++ pwd\n++ GIT_TEMPLATE_DIR=/Users/io1/Desktop/git-1.5.6/t/../templates/blt\n++ unset GIT_CONFIG\n++ unset GIT_CONFIG_LOCAL\n++ GIT_CONFIG_NOSYSTEM=1\n++ GIT_CONFIG_NOGLOBAL=1\n++ export PATH GIT_EXEC_PATH GIT_TEMPLATE_DIR GIT_CONFIG_NOSYSTEM GIT_CONFIG_NOGLOBAL\n+++ pwd\n+++ pwd\n++ GITPERLLIB=/Users/io1/Desktop/git-1.5.6/t/../perl/blib/lib:/Users/io1/Desktop/git-1.5.6/t/../perl/blib/arch/auto/Git\n++ export GITPERLLIB\n++ test -d ../templates/blt\n++ test -x ../test-chmtime\n++ . ../GIT-BUILD-OPTIONS\n+++ SHELL_PATH=/bin/sh\n++ test=trash directory\n++ rm -fr 'trash directory'\n++ test_create_repo 'trash directory'\n++ test 1 = 1\n+++ pwd\n++ owd=/Users/io1/Desktop/git-1.5.6/t\n++ repo=trash directory\n++ mkdir 'trash directory'\n++ cd 'trash directory'\n++ /Users/io1/Desktop/git-1.5.6/t/../git init --template=/Users/io1/Desktop/git-1.5.6/t/../templates/blt/\n++ mv .git/hooks .git/hooks-disabled\n++ cd /Users/io1/Desktop/git-1.5.6/t\n++ cd -P 'trash directory'\n+++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n++ this_test=t2004\n+ test_expect_success preparation '\nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)'\n+ test 2 = 2\n+ test_skip preparation '\nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 0 + 1\n+ this_test=t2004.1\n+ to_skip=\n+ false\n+ say 'expecting success: \nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)'\n+ say_color info 'expecting success: \nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)'\n+ test_run_ '\nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)'\n+ eval '\nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)'\n++ mkdir asubdir\n++ echo tree1path0\n++ echo tree1path1\n++ echo tree1path3\n++ echo tree1path4\n++ echo tree1asubdir/path5\n++ git update-index --add path0 path1 path3 path4 asubdir/path5\n+++ git write-tree\n++ t1=55e7ce41e13ffba28c4b9d7b40c5b338786c48b5\n++ rm -f path0 path1 path3 path4 '.merge_*' out .git/index\n++ echo tree2path0\n++ echo tree2path1\n++ echo tree2path2\n++ echo tree2path4\n++ git update-index --add path0 path1 path2 path4\n+++ git write-tree\n++ t2=9ad8b17bf35b3a2e8f34dc723dd036870eaf5ecf\n++ rm -f path0 path1 path2 path4 '.merge_*' out .git/index\n++ echo tree2path0\n++ echo tree3path1\n++ echo tree3path2\n++ echo tree3path3\n++ git update-index --add path0 path1 path2 path3\n+++ git write-tree\n++ t3=869c54176b16104872b38d0471bc4fcc35f46beb\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ preparation\n++ expr 0 + 1\n+ test_count=1\n+ say_color '' '  ok 1: preparation'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 1: preparation'\n+ echo ''\n+ test_expect_success 'checkout one stage 0 to temporary file' '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1'\n+ test 2 = 2\n+ test_skip 'checkout one stage 0 to temporary file' '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 1 + 1\n+ this_test=t2004.2\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1'\n+ test_run_ '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1'\n+ eval '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1'\n++ rm -f path0 path1 path2 path3 '.merge_*' out .git/index\n++ git read-tree 55e7ce41e13ffba28c4b9d7b40c5b338786c48b5\n++ git checkout-index --temp -- path1\n+++ wc -l\n++ test 1 = 1\n+++ cut '-d\t' -f2 out\n++ test path1 = path1\n+++ cut '-d\t' -f1 out\n++ p=.merge_file_SkWrTm\n++ test -f .merge_file_SkWrTm\n+++ cat .merge_file_SkWrTm\n++ test tree1path1 = tree1path1\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout one stage 0 to temporary file'\n++ expr 1 + 1\n+ test_count=2\n+ say_color '' '  ok 2: checkout one stage 0 to temporary file'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 2: checkout one stage 0 to temporary file'\n+ echo ''\n+ test_expect_success 'checkout all stage 0 to temporary files' '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone'\n+ test 2 = 2\n+ test_skip 'checkout all stage 0 to temporary files' '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 2 + 1\n+ this_test=t2004.3\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone'\n+ test_run_ '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone'\n+ eval '\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone'\n++ rm -f 'path*' .merge_file_SkWrTm out .git/index\n++ git read-tree 55e7ce41e13ffba28c4b9d7b40c5b338786c48b5\n++ git checkout-index -a --temp\n+++ wc -l\n++ test 5 = 5\n+++ cut '-d\t' -f2\n+++ grep path0 out\n++ test path0 = path0\n+++ grep path0 out\n+++ cut '-d\t' -f1\n++ p=.merge_file_umMWZK\n++ test -f .merge_file_umMWZK\n+++ cat .merge_file_umMWZK\n++ test tree1path0 = tree1path0\n+++ grep path1 out\n+++ cut '-d\t' -f2\n++ test path1 = path1\n+++ cut '-d\t' -f1\n+++ grep path1 out\n++ p=.merge_file_pqCP9Q\n++ test -f .merge_file_pqCP9Q\n+++ cat .merge_file_pqCP9Q\n++ test tree1path1 = tree1path1\n+++ grep path3 out\n+++ cut '-d\t' -f2\n++ test path3 = path3\n+++ grep path3 out\n+++ cut '-d\t' -f1\n++ p=.merge_file_htNBuR\n++ test -f .merge_file_htNBuR\n+++ cat .merge_file_htNBuR\n++ test tree1path3 = tree1path3\n+++ cut '-d\t' -f2\n+++ grep path4 out\n++ test path4 = path4\n+++ grep path4 out\n+++ cut '-d\t' -f1\n++ p=.merge_file_wK37Ga\n++ test -f .merge_file_wK37Ga\n+++ cat .merge_file_wK37Ga\n++ test tree1path4 = tree1path4\n+++ grep asubdir/path5 out\n+++ cut '-d\t' -f2\n++ test asubdir/path5 = asubdir/path5\n+++ grep asubdir/path5 out\n+++ cut '-d\t' -f1\n++ p=.merge_file_HHTltB\n++ test -f .merge_file_HHTltB\n+++ cat .merge_file_HHTltB\n++ test tree1asubdir/path5 = tree1asubdir/path5\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout all stage 0 to temporary files'\n++ expr 2 + 1\n+ test_count=3\n+ say_color '' '  ok 3: checkout all stage 0 to temporary files'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 3: checkout all stage 0 to temporary files'\n+ echo ''\n+ test_expect_success 'prepare 3-way merge' '\nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3'\n+ test 2 = 2\n+ test_skip 'prepare 3-way merge' '\nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 3 + 1\n+ this_test=t2004.4\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3'\n+ test_run_ '\nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3'\n+ eval '\nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3'\n++ rm -f 'path*' .merge_file_HHTltB .merge_file_htNBuR .merge_file_pqCP9Q .merge_file_umMWZK .merge_file_wK37Ga out .git/index\n++ git read-tree -m 55e7ce41e13ffba28c4b9d7b40c5b338786c48b5 9ad8b17bf35b3a2e8f34dc723dd036870eaf5ecf 869c54176b16104872b38d0471bc4fcc35f46beb\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'prepare 3-way merge'\n++ expr 3 + 1\n+ test_count=4\n+ say_color '' '  ok 4: prepare 3-way merge'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 4: prepare 3-way merge'\n+ echo ''\n+ test_expect_success 'checkout one stage 2 to temporary file' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1'\n+ test 2 = 2\n+ test_skip 'checkout one stage 2 to temporary file' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 4 + 1\n+ this_test=t2004.5\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1'\n+ test_run_ '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1'\n+ eval '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1'\n++ rm -f 'path*' '.merge_*' out\n++ git checkout-index --stage=2 --temp -- path1\n+++ wc -l\n++ test 1 = 1\n+++ cut '-d\t' -f2 out\n++ test path1 = path1\n+++ cut '-d\t' -f1 out\n++ p=.merge_file_Pq7U41\n++ test -f .merge_file_Pq7U41\n+++ cat .merge_file_Pq7U41\n++ test tree2path1 = tree2path1\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout one stage 2 to temporary file'\n++ expr 4 + 1\n+ test_count=5\n+ say_color '' '  ok 5: checkout one stage 2 to temporary file'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 5: checkout one stage 2 to temporary file'\n+ echo ''\n+ test_expect_success 'checkout all stage 2 to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone'\n+ test 2 = 2\n+ test_skip 'checkout all stage 2 to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 5 + 1\n+ this_test=t2004.6\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone'\n+ test_run_ '\nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone'\n+ eval '\nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone'\n++ rm -f 'path*' .merge_file_Pq7U41 out\n++ git checkout-index --all --stage=2 --temp\n+++ wc -l\n++ test 3 = 3\n+++ grep path1 out\n+++ cut '-d\t' -f2\n++ test path1 = path1\n+++ grep path1 out\n+++ cut '-d\t' -f1\n++ p=.merge_file_bE0Spf\n++ test -f .merge_file_bE0Spf\n+++ cat .merge_file_bE0Spf\n++ test tree2path1 = tree2path1\n+++ grep path2 out\n+++ cut '-d\t' -f2\n++ test path2 = path2\n+++ grep path2 out\n+++ cut '-d\t' -f1\n++ p=.merge_file_tAZ3x2\n++ test -f .merge_file_tAZ3x2\n+++ cat .merge_file_tAZ3x2\n++ test tree2path2 = tree2path2\n+++ cut '-d\t' -f2\n+++ grep path4 out\n++ test path4 = path4\n+++ grep path4 out\n+++ cut '-d\t' -f1\n++ p=.merge_file_5R9M2N\n++ test -f .merge_file_5R9M2N\n+++ cat .merge_file_5R9M2N\n++ test tree2path4 = tree2path4\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout all stage 2 to temporary files'\n++ expr 5 + 1\n+ test_count=6\n+ say_color '' '  ok 6: checkout all stage 2 to temporary files'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 6: checkout all stage 2 to temporary files'\n+ echo ''\n+ test_expect_success 'checkout all stages/one file to nothing' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0'\n+ test 2 = 2\n+ test_skip 'checkout all stages/one file to nothing' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 6 + 1\n+ this_test=t2004.7\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0'\n+ test_run_ '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0'\n+ eval '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0'\n++ rm -f 'path*' .merge_file_5R9M2N .merge_file_bE0Spf .merge_file_tAZ3x2 out\n++ git checkout-index --stage=all --temp -- path0\ngit-checkout-index: path0 does not exist at stage 4\n+++ wc -l\n++ test 0 = 0\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout all stages/one file to nothing'\n++ expr 6 + 1\n+ test_count=7\n+ say_color '' '  ok 7: checkout all stages/one file to nothing'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 7: checkout all stages/one file to nothing'\n+ echo ''\n+ test_expect_success 'checkout all stages/one file to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ test 2 = 2\n+ test_skip 'checkout all stages/one file to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 7 + 1\n+ this_test=t2004.8\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ test_run_ '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ eval '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n++ rm -f 'path*' '.merge_*' out\n++ git checkout-index --stage=all --temp -- path1\n+++ wc -l\n++ test 1 = 1\n+++ cut '-d\t' -f2 out\n++ test path1 = path1\n++ cut '-d\t' -f1 out\n++ read s1 s2 s3\n++ test -f .merge_file_JSK1BD\n++ test -f .merge_file_zH0Aoa\n++ test -f .merge_file_8ToCkP\n+++ cat .merge_file_JSK1BD\n++ test tree1path1 = tree1path1\n+++ cat .merge_file_zH0Aoa\n++ test tree2path1 = tree2path1\n+++ cat .merge_file_8ToCkP\n++ test tree3path1 = tree3path1\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout all stages/one file to temporary files'\n++ expr 7 + 1\n+ test_count=8\n+ say_color '' '  ok 8: checkout all stages/one file to temporary files'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 8: checkout all stages/one file to temporary files'\n+ echo ''\n+ test_expect_success 'checkout some stages/one file to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ test 2 = 2\n+ test_skip 'checkout some stages/one file to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 8 + 1\n+ this_test=t2004.9\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ test_run_ '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ eval '\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n++ rm -f 'path*' .merge_file_8ToCkP .merge_file_JSK1BD .merge_file_zH0Aoa out\n++ git checkout-index --stage=all --temp -- path2\n+++ wc -l\n++ test 1 = 1\n+++ cut '-d\t' -f2 out\n++ test path2 = path2\n++ cut '-d\t' -f1 out\n++ read s1 s2 s3\n++ test . = .\n++ test -f .merge_file_0O9Rze\n++ test -f .merge_file_4ya4xG\n+++ cat .merge_file_0O9Rze\n++ test tree2path2 = tree2path2\n+++ cat .merge_file_4ya4xG\n++ test tree3path2 = tree3path2\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout some stages/one file to temporary files'\n++ expr 8 + 1\n+ test_count=9\n+ say_color '' '  ok 9: checkout some stages/one file to temporary files'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 9: checkout some stages/one file to temporary files'\n+ echo ''\n+ test_expect_success 'checkout all stages/all files to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5'\n+ test 2 = 2\n+ test_skip 'checkout all stages/all files to temporary files' '\nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 9 + 1\n+ this_test=t2004.10\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5'\n+ test_run_ '\nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5'\n+ eval '\nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5'\n++ rm -f 'path*' .merge_file_0O9Rze .merge_file_4ya4xG out\n++ git checkout-index -a --stage=all --temp\n+++ wc -l\n++ test 5 = 5\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout all stages/all files to temporary files'\n++ expr 9 + 1\n+ test_count=10\n+ say_color '' '  ok 10: checkout all stages/all files to temporary files'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 10: checkout all stages/all files to temporary files'\n+ echo ''\n+ test_expect_success '-- path0: no entry' '\ntest x$(grep path0 out | cut \"-d\t\" -f2) = x'\n+ test 2 = 2\n+ test_skip '-- path0: no entry' '\ntest x$(grep path0 out | cut \"-d\t\" -f2) = x'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 10 + 1\n+ this_test=t2004.11\n+ to_skip=\n+ false\n+ say 'expecting success: \ntest x$(grep path0 out | cut \"-d\t\" -f2) = x'\n+ say_color info 'expecting success: \ntest x$(grep path0 out | cut \"-d\t\" -f2) = x'\n+ test -z info\n+ shift\n+ echo '* expecting success: \ntest x$(grep path0 out | cut \"-d\t\" -f2) = x'\n+ test_run_ '\ntest x$(grep path0 out | cut \"-d\t\" -f2) = x'\n+ eval '\ntest x$(grep path0 out | cut \"-d\t\" -f2) = x'\n+++ grep path0 out\n+++ cut '-d\t' -f2\n++ test x = x\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ '-- path0: no entry'\n++ expr 10 + 1\n+ test_count=11\n+ say_color '' '  ok 11: -- path0: no entry'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 11: -- path0: no entry'\n+ echo ''\n+ test_expect_success '-- path1: all 3 stages' '\ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ test 2 = 2\n+ test_skip '-- path1: all 3 stages' '\ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 11 + 1\n+ this_test=t2004.12\n+ to_skip=\n+ false\n+ say 'expecting success: \ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ say_color info 'expecting success: \ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ test_run_ '\ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+ eval '\ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)'\n+++ grep path1 out\n+++ cut '-d\t' -f2\n++ test path1 = path1\n++ grep path1 out\n++ cut '-d\t' -f1\n++ read s1 s2 s3\n++ test -f .merge_file_h8tXrD\n++ test -f .merge_file_rN8rTd\n++ test -f .merge_file_dmW8IZ\n+++ cat .merge_file_h8tXrD\n++ test tree1path1 = tree1path1\n+++ cat .merge_file_rN8rTd\n++ test tree2path1 = tree2path1\n+++ cat .merge_file_dmW8IZ\n++ test tree3path1 = tree3path1\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ '-- path1: all 3 stages'\n++ expr 11 + 1\n+ test_count=12\n+ say_color '' '  ok 12: -- path1: all 3 stages'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 12: -- path1: all 3 stages'\n+ echo ''\n+ test_expect_success '-- path2: no stage 1, have stage 2 and 3' '\ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ test 2 = 2\n+ test_skip '-- path2: no stage 1, have stage 2 and 3' '\ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 12 + 1\n+ this_test=t2004.13\n+ to_skip=\n+ false\n+ say 'expecting success: \ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ say_color info 'expecting success: \ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ test_run_ '\ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+ eval '\ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)'\n+++ grep path2 out\n+++ cut '-d\t' -f2\n++ test path2 = path2\n++ grep path2 out\n++ cut '-d\t' -f1\n++ read s1 s2 s3\n++ test . = .\n++ test -f .merge_file_jmbxjv\n++ test -f .merge_file_8cWHrQ\n+++ cat .merge_file_jmbxjv\n++ test tree2path2 = tree2path2\n+++ cat .merge_file_8cWHrQ\n++ test tree3path2 = tree3path2\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ '-- path2: no stage 1, have stage 2 and 3'\n++ expr 12 + 1\n+ test_count=13\n+ say_color '' '  ok 13: -- path2: no stage 1, have stage 2 and 3'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 13: -- path2: no stage 1, have stage 2 and 3'\n+ echo ''\n+ test_expect_success '-- path3: no stage 2, have stage 1 and 3' '\ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)'\n+ test 2 = 2\n+ test_skip '-- path3: no stage 2, have stage 1 and 3' '\ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 13 + 1\n+ this_test=t2004.14\n+ to_skip=\n+ false\n+ say 'expecting success: \ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)'\n+ say_color info 'expecting success: \ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)'\n+ test_run_ '\ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)'\n+ eval '\ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)'\n+++ grep path3 out\n+++ cut '-d\t' -f2\n++ test path3 = path3\n++ grep path3 out\n++ cut '-d\t' -f1\n++ read s1 s2 s3\n++ test -f .merge_file_6iyvpx\n++ test . = .\n++ test -f .merge_file_bFIigi\n+++ cat .merge_file_6iyvpx\n++ test tree1path3 = tree1path3\n+++ cat .merge_file_bFIigi\n++ test tree3path3 = tree3path3\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ '-- path3: no stage 2, have stage 1 and 3'\n++ expr 13 + 1\n+ test_count=14\n+ say_color '' '  ok 14: -- path3: no stage 2, have stage 1 and 3'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 14: -- path3: no stage 2, have stage 1 and 3'\n+ echo ''\n+ test_expect_success '-- path4: no stage 3, have stage 1 and 3' '\ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)'\n+ test 2 = 2\n+ test_skip '-- path4: no stage 3, have stage 1 and 3' '\ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 14 + 1\n+ this_test=t2004.15\n+ to_skip=\n+ false\n+ say 'expecting success: \ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)'\n+ say_color info 'expecting success: \ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)'\n+ test_run_ '\ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)'\n+ eval '\ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)'\n+++ grep path4 out\n+++ cut '-d\t' -f2\n++ test path4 = path4\n++ grep path4 out\n++ cut '-d\t' -f1\n++ read s1 s2 s3\n++ test -f .merge_file_f0hTvT\n++ test -f .merge_file_sYiYst\n++ test . = .\n+++ cat .merge_file_f0hTvT\n++ test tree1path4 = tree1path4\n+++ cat .merge_file_sYiYst\n++ test tree2path4 = tree2path4\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ '-- path4: no stage 3, have stage 1 and 3'\n++ expr 14 + 1\n+ test_count=15\n+ say_color '' '  ok 15: -- path4: no stage 3, have stage 1 and 3'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 15: -- path4: no stage 3, have stage 1 and 3'\n+ echo ''\n+ test_expect_success '-- asubdir/path5: no stage 2 and 3 have stage 1' '\ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)'\n+ test 2 = 2\n+ test_skip '-- asubdir/path5: no stage 2 and 3 have stage 1' '\ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 15 + 1\n+ this_test=t2004.16\n+ to_skip=\n+ false\n+ say 'expecting success: \ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)'\n+ say_color info 'expecting success: \ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)'\n+ test_run_ '\ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)'\n+ eval '\ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)'\n+++ grep asubdir/path5 out\n+++ cut '-d\t' -f2\n++ test asubdir/path5 = asubdir/path5\n++ grep asubdir/path5 out\n++ cut '-d\t' -f1\n++ read s1 s2 s3\n++ test -f .merge_file_lcEv2j\n++ test . = .\n++ test . = .\n+++ cat .merge_file_lcEv2j\n++ test tree1asubdir/path5 = tree1asubdir/path5\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ '-- asubdir/path5: no stage 2 and 3 have stage 1'\n++ expr 15 + 1\n+ test_count=16\n+ say_color '' '  ok 16: -- asubdir/path5: no stage 2 and 3 have stage 1'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 16: -- asubdir/path5: no stage 2 and 3 have stage 1'\n+ echo ''\n+ test_expect_success 'checkout --temp within subdir' '\n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)'\n+ test 2 = 2\n+ test_skip 'checkout --temp within subdir' '\n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 16 + 1\n+ this_test=t2004.17\n+ to_skip=\n+ false\n+ say 'expecting success: \n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)'\n+ say_color info 'expecting success: \n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)'\n+ test -z info\n+ shift\n+ echo '* expecting success: \n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)'\n+ test_run_ '\n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)'\n+ eval '\n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)'\n++ cd asubdir\n++ git checkout-index -a --stage=all\n+++ wc -l\n++ test 1 = 1\n+++ grep path5 out\n+++ cut '-d\t' -f2\n++ test path5 = path5\n++ grep path5 out\n++ read s1 s2 s3\n++ cut '-d\t' -f1\n++ test -f ../.merge_file_PGoCjL\n++ test . = .\n++ test . = .\n+++ cat ../.merge_file_PGoCjL\n++ test tree1asubdir/path5 = tree1asubdir/path5\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout --temp within subdir'\n++ expr 16 + 1\n+ test_count=17\n+ say_color '' '  ok 17: checkout --temp within subdir'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 17: checkout --temp within subdir'\n+ echo ''\n+ test_expect_success 'checkout --temp symlink' '\nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b'\n+ test 2 = 2\n+ test_skip 'checkout --temp symlink' '\nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b'\n++ expr ./t2004-checkout-cache-temp.sh : '.*/\\(t[0-9]*\\)-[^/]*$'\n+ this_test=t2004\n++ expr 17 + 1\n+ this_test=t2004.18\n+ to_skip=\n+ false\n+ say 'expecting success: \nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b'\n+ say_color info 'expecting success: \nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b'\n+ test -z info\n+ shift\n+ echo '* expecting success: \nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b'\n+ test_run_ '\nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b'\n+ eval '\nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b'\n++ rm -f 'path*' .merge_file_6iyvpx .merge_file_8cWHrQ .merge_file_PGoCjL .merge_file_bFIigi .merge_file_dmW8IZ .merge_file_f0hTvT .merge_file_h8tXrD .merge_file_jmbxjv .merge_file_lcEv2j .merge_file_rN8rTd .merge_file_sYiYst out .git/index\n++ ln -s b a\n++ git update-index --add a\n+++ git write-tree\n++ t4=79c8f43fc2b6210c5badb2c13595654b6c40b974\n++ rm -f .git/index\n++ git read-tree 79c8f43fc2b6210c5badb2c13595654b6c40b974\n++ git checkout-index --temp -a\n+++ wc -l\n++ test 1 = 1\n+++ cut '-d\t' -f2 out\n++ test a = a\n+++ cut '-d\t' -f1 out\n++ p=.merge_link_RykTWo\n++ test -f .merge_link_RykTWo\n+++ cat .merge_link_RykTWo\n++ test b = b\n+ eval_ret=0\n+ return 0\n+ '[' 0 = 0 -a 0 = 0 ']'\n+ test_ok_ 'checkout --temp symlink'\n++ expr 17 + 1\n+ test_count=18\n+ say_color '' '  ok 18: checkout --temp symlink'\n+ test -z ''\n+ test -n ''\n+ shift\n+ echo '*   ok 18: checkout --temp symlink'\n+ echo ''\n+ test_done\n+ trap - exit\n+ test 0 '!=' 0\n+ test 0 '!=' 0\n+ msg=18 test(s)\n+ say_color pass 'passed all 18 test(s)'\n+ test -z pass\n+ shift\n+ echo '* passed all 18 test(s)'\n+ exit 0\n\n\n* expecting success: \nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)\n*   ok 1: preparation\n\n* expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1\n*   ok 2: checkout one stage 0 to temporary file\n\n* expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree1$f\ndone\n*   ok 3: checkout all stage 0 to temporary files\n\n* expecting success: \nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3\n*   ok 4: prepare 3-way merge\n\n* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1\n*   ok 5: checkout one stage 2 to temporary file\n\n* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n\ttest $(grep $f out | cut \"-d\t\" -f2) = $f &&\n\tp=$(grep $f out | cut \"-d\t\" -f1) &&\n\ttest -f $p &&\n\ttest $(cat $p) = tree2$f\ndone\n*   ok 6: checkout all stage 2 to temporary files\n\n* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0\n*   ok 7: checkout all stages/one file to nothing\n\n* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path1 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)\n*   ok 8: checkout all stages/one file to temporary files\n\n* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = path2 &&\ncut \"-d\t\" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)\n*   ok 9: checkout some stages/one file to temporary files\n\n* expecting success: \nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5\n*   ok 10: checkout all stages/all files to temporary files\n\n* expecting success: \ntest x$(grep path0 out | cut \"-d\t\" -f2) = x\n*   ok 11: -- path0: no entry\n\n* expecting success: \ntest $(grep path1 out | cut \"-d\t\" -f2) = path1 &&\ngrep path1 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)\n*   ok 12: -- path1: all 3 stages\n\n* expecting success: \ntest $(grep path2 out | cut \"-d\t\" -f2) = path2 &&\ngrep path2 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)\n*   ok 13: -- path2: no stage 1, have stage 2 and 3\n\n* expecting success: \ntest $(grep path3 out | cut \"-d\t\" -f2) = path3 &&\ngrep path3 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)\n*   ok 14: -- path3: no stage 2, have stage 1 and 3\n\n* expecting success: \ntest $(grep path4 out | cut \"-d\t\" -f2) = path4 &&\ngrep path4 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)\n*   ok 15: -- path4: no stage 3, have stage 1 and 3\n\n* expecting success: \ntest $(grep asubdir/path5 out | cut \"-d\t\" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)\n*   ok 16: -- asubdir/path5: no stage 2 and 3 have stage 1\n\n* expecting success: \n(cd asubdir &&\n git checkout-index -a --stage=all >out &&\n test $(wc -l <out) = 1 &&\n test $(grep path5 out | cut \"-d\t\" -f2) = path5 &&\n grep path5 out | cut \"-d\t\" -f1 | (read s1 s2 s3 &&\n test -f ../$s1 &&\n test $s2 = . &&\n test $s3 = . &&\n test $(cat ../$s1) = tree1asubdir/path5)\n)\n*   ok 17: checkout --temp within subdir\n\n* expecting success: \nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d\t\" -f2 out) = a &&\np=$(cut \"-d\t\" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b\n*   ok 18: checkout --temp symlink\n\n* passed all 18 test(s)\n"},{"id":"81312","messageId":"81b0412b0806261142r37f84187qf5ff043e1913b4fb@mail.gmail.com","threadId":"14143","inReplyTo":"2eb980790806260148p7713a546k641d96a956e9b0fa@mail.gmail.com","subject":"Re: Errors building git-1.5.6 from source on Mac OS X 10.4.11","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2008-06-26T18:42:31Z","receivedAt":"2008-06-26T18:42:31Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"2008/6/26 Ifejinelo Onyiah <nelo.onyiah@googlemail.com>:\n> 2008/6/25 Alex Riesen <raa.lkml@gmail.com>:\n>> Ifejinelo Onyiah, Wed, Jun 25, 2008 15:20:39 +0200:\n>>>\n>>> They all run fine but when I issue the make test command, it dies at\n>>> the following:\n>>>\n>>> % make test\n>>>\n>>> ... TRUNCATED OUTPUT ...\n>>>\n>>> *** t2004-checkout-cache-temp.sh ***\n>>> * FAIL 1: preparation\n>>>\n>>\n>> If you don't mind helping the investigation a bit, could you please go\n>> into the t/ directory and run\n>>\n>>    bash -x t2004-checkout-cache-temp.sh -d -v -i\n>>\n>> and post the output here?\n>\n> I ran that command and it seemed to run with no problems. I have\n> provided the output in 2 attached text files. I hope that is ok.\n\ncould you try the command _without_ \"bash -x\"?\nLike this:\n\n    cd t\n    ./t2004-checkout-cache-temp.sh -d -v -i\n"},{"id":"81373","messageId":"2eb980790806270143i5caec64fs498d9ca08acb0a1c@mail.gmail.com","threadId":"14143","inReplyTo":"81b0412b0806261142r37f84187qf5ff043e1913b4fb@mail.gmail.com","subject":"Re: Errors building git-1.5.6 from source on Mac OS X 10.4.11","fromName":"Ifejinelo Onyiah","fromEmail":"nelo.onyiah@googlemail.com","sentAt":"2008-06-27T08:43:05Z","receivedAt":"2008-06-27T08:43:05Z","isPatch":false,"sender":{"key":"nelo.onyiah@googlemail.com","avatar":null},"body":"2008/6/26 Alex Riesen <raa.lkml@gmail.com>:\n> 2008/6/26 Ifejinelo Onyiah <nelo.onyiah@googlemail.com>:\n>> 2008/6/25 Alex Riesen <raa.lkml@gmail.com>:\n>>> Ifejinelo Onyiah, Wed, Jun 25, 2008 15:20:39 +0200:\n>>>>\n>>>> They all run fine but when I issue the make test command, it dies at\n>>>> the following:\n>>>>\n>>>> % make test\n>>>>\n>>>> ... TRUNCATED OUTPUT ...\n>>>>\n>>>> *** t2004-checkout-cache-temp.sh ***\n>>>> * FAIL 1: preparation\n>>>>\n>>>\n>>> If you don't mind helping the investigation a bit, could you please go\n>>> into the t/ directory and run\n>>>\n>>>    bash -x t2004-checkout-cache-temp.sh -d -v -i\n>>>\n>>> and post the output here?\n>>\n>> I ran that command and it seemed to run with no problems. I have\n>> provided the output in 2 attached text files. I hope that is ok.\n>\n> could you try the command _without_ \"bash -x\"?\n> Like this:\n>\n>    cd t\n>    ./t2004-checkout-cache-temp.sh -d -v -i\n>\n\nI've just done that and here's the output:\n\nio1@mib19412i[00m:~/Desktop/git-1.5.6/t$ ./t2004-checkout-cache-temp.sh -d -v -i\n* expecting success:\nmkdir asubdir &&\necho tree1path0 >path0 &&\necho tree1path1 >path1 &&\necho tree1path3 >path3 &&\necho tree1path4 >path4 &&\necho tree1asubdir/path5 >asubdir/path5 &&\ngit update-index --add path0 path1 path3 path4 asubdir/path5 &&\nt1=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree2path1 >path1 &&\necho tree2path2 >path2 &&\necho tree2path4 >path4 &&\ngit update-index --add path0 path1 path2 path4 &&\nt2=$(git write-tree) &&\nrm -f path* .merge_* out .git/index &&\necho tree2path0 >path0 &&\necho tree3path1 >path1 &&\necho tree3path2 >path2 &&\necho tree3path3 >path3 &&\ngit update-index --add path0 path1 path2 path3 &&\nt3=$(git write-tree)\n*   ok 1: preparation\n\n* expecting success:\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d  \" -f2 out) = path1 &&\np=$(cut \"-d     \" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree1path1\n*   ok 2: checkout one stage 0 to temporary file\n\n* expecting success:\nrm -f path* .merge_* out .git/index &&\ngit read-tree $t1 &&\ngit checkout-index -a --temp >out &&\ntest $(wc -l <out) = 5 &&\nfor f in path0 path1 path3 path4 asubdir/path5\ndo\n       test $(grep $f out | cut \"-d    \" -f2) = $f &&\n       p=$(grep $f out | cut \"-d       \" -f1) &&\n       test -f $p &&\n       test $(cat $p) = tree1$f\ndone\n*   ok 3: checkout all stage 0 to temporary files\n\n* expecting success:\nrm -f path* .merge_* out .git/index &&\ngit read-tree -m $t1 $t2 $t3\n*   ok 4: prepare 3-way merge\n\n* expecting success:\nrm -f path* .merge_* out &&\ngit checkout-index --stage=2 --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d  \" -f2 out) = path1 &&\np=$(cut \"-d     \" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = tree2path1\n*   ok 5: checkout one stage 2 to temporary file\n\n* expecting success:\nrm -f path* .merge_* out &&\ngit checkout-index --all --stage=2 --temp >out &&\ntest $(wc -l <out) = 3 &&\nfor f in path1 path2 path4\ndo\n       test $(grep $f out | cut \"-d    \" -f2) = $f &&\n       p=$(grep $f out | cut \"-d       \" -f1) &&\n       test -f $p &&\n       test $(cat $p) = tree2$f\ndone\n*   ok 6: checkout all stage 2 to temporary files\n\n* expecting success:\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path0 >out &&\ntest $(wc -l <out) = 0\ngit-checkout-index: path0 does not exist at stage 4\n*   ok 7: checkout all stages/one file to nothing\n\n* expecting success:\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path1 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d  \" -f2 out) = path1 &&\ncut \"-d \" -f1 out | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)\n*   ok 8: checkout all stages/one file to temporary files\n\n* expecting success:\nrm -f path* .merge_* out &&\ngit checkout-index --stage=all --temp -- path2 >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d  \" -f2 out) = path2 &&\ncut \"-d \" -f1 out | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)\n*   ok 9: checkout some stages/one file to temporary files\n\n* expecting success:\nrm -f path* .merge_* out &&\ngit checkout-index -a --stage=all --temp >out &&\ntest $(wc -l <out) = 5\n*   ok 10: checkout all stages/all files to temporary files\n\n* expecting success:\ntest x$(grep path0 out | cut \"-d        \" -f2) = x\n*   ok 11: -- path0: no entry\n\n* expecting success:\ntest $(grep path1 out | cut \"-d \" -f2) = path1 &&\ngrep path1 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path1 &&\ntest $(cat $s2) = tree2path1 &&\ntest $(cat $s3) = tree3path1)\n*   ok 12: -- path1: all 3 stages\n\n* expecting success:\ntest $(grep path2 out | cut \"-d \" -f2) = path2 &&\ngrep path2 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\ntest $s1 = . &&\ntest -f $s2 &&\ntest -f $s3 &&\ntest $(cat $s2) = tree2path2 &&\ntest $(cat $s3) = tree3path2)\n*   ok 13: -- path2: no stage 1, have stage 2 and 3\n\n* expecting success:\ntest $(grep path3 out | cut \"-d \" -f2) = path3 &&\ngrep path3 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest -f $s3 &&\ntest $(cat $s1) = tree1path3 &&\ntest $(cat $s3) = tree3path3)\n*   ok 14: -- path3: no stage 2, have stage 1 and 3\n\n* expecting success:\ntest $(grep path4 out | cut \"-d \" -f2) = path4 &&\ngrep path4 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest -f $s2 &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1path4 &&\ntest $(cat $s2) = tree2path4)\n*   ok 15: -- path4: no stage 3, have stage 1 and 3\n\n* expecting success:\ntest $(grep asubdir/path5 out | cut \"-d \" -f2) = asubdir/path5 &&\ngrep asubdir/path5 out | cut \"-d        \" -f1 | (read s1 s2 s3 &&\ntest -f $s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat $s1) = tree1asubdir/path5)\n*   ok 16: -- asubdir/path5: no stage 2 and 3 have stage 1\n\n* expecting success:\n(cd asubdir &&\ngit checkout-index -a --stage=all >out &&\ntest $(wc -l <out) = 1 &&\ntest $(grep path5 out | cut \"-d        \" -f2) = path5 &&\ngrep path5 out | cut \"-d       \" -f1 | (read s1 s2 s3 &&\ntest -f ../$s1 &&\ntest $s2 = . &&\ntest $s3 = . &&\ntest $(cat ../$s1) = tree1asubdir/path5)\n)\n*   ok 17: checkout --temp within subdir\n\n* expecting success:\nrm -f path* .merge_* out .git/index &&\nln -s b a &&\ngit update-index --add a &&\nt4=$(git write-tree) &&\nrm -f .git/index &&\ngit read-tree $t4 &&\ngit checkout-index --temp -a >out &&\ntest $(wc -l <out) = 1 &&\ntest $(cut \"-d  \" -f2 out) = a &&\np=$(cut \"-d     \" -f1 out) &&\ntest -f $p &&\ntest $(cat $p) = b\n*   ok 18: checkout --temp symlink\n\n* passed all 18 test(s)\nio1@mib19412i[00m:~/Desktop/git-1.5.6/t$\n"},{"id":"81579","messageId":"20080628203447.GA3172@steel.home","threadId":"14143","inReplyTo":"2eb980790806270143i5caec64fs498d9ca08acb0a1c@mail.gmail.com","subject":"Re: Errors building git-1.5.6 from source on Mac OS X 10.4.11","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2008-06-28T20:34:48Z","receivedAt":"2008-06-28T20:34:48Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Ifejinelo Onyiah, Fri, Jun 27, 2008 10:43:05 +0200:\n> > could you try the command _without_ \"bash -x\"?\n> > Like this:\n> >\n> >    cd t\n> >    ./t2004-checkout-cache-temp.sh -d -v -i\n> >\n> \n> I've just done that and here's the output:\n> \n> io1@mib19412i[00m:~/Desktop/git-1.5.6/t$ ./t2004-checkout-cache-temp.sh -d -v -i\n> * expecting success:\n...\n> * passed all 18 test(s)\n\nSo it succeeded... Complicated, then. You can try removing the\ncommand-line options (except -i, which just makes the script stop\nafter the first failure):\n\n    ./t2004-checkout-cache-temp.sh -i -v\n    ./t2004-checkout-cache-temp.sh -i -d\n\nand see if it breaks. Either -d or -v will help to pinpoint the test,\nwhich failed more precisely.\n\nOr, you can also try to build everything from scratch first (by\nre-cloning your git repo somewhere and building it there).  As far as\nI understood, the \"make test\" failed after you tried to build things\nfirst time, right?\n\nP.S. sorry for slow communication. I'm rarely on the net. A more\nactive debugging session can be had on IRC, there is some experienced\nfolk hanging around there (irc.freenode.net, channel #git).\n"}]}