Hello, First of all, this problem always existed to me. I was lazy to report. Please check the failure logs and my GIT build script below. My build script runs 'make test' twice because of this annoying failure. It does not mean that the first test always failed, but very often. If it occurs, the first test failed at 't1000-read-tree-m-3way.sh' always. And in this case, 2nd test always succeeded. Thanks, GIT test failure logs ==================================================================== 2007-01-15 ============================================================================== GIT_VERSION = 1.5.0.rc1.gf4b6c-dirty ... * FAIL 57: 5 - must match in !O && A && B && A==B case. rm -f .git/index LL && cp .orig-A/LL LL && git-update-index --add LL && echo extra >>LL && git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe 997bbc4a0a51e0574168a4f637739380edebe4d7 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 && check_result ... * FAIL 62: 9 - must match and be up-to-date in O && A && !B && O!=A case rm -f .git/index MD && cp .orig-A/MD MD && git-update-index --add MD && git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe 997bbc4a0a51e0574168a4f637739380edebe4d7 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 && check_result ... * FAIL 65: 10 - must match and be up-to-date in O && A && !B && O==A case rm -f .git/index ND && cp .orig-A/ND ND && git-update-index --add ND && git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe 997bbc4a0a51e0574168a4f637739380edebe4d7 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 && check_result ... * failed 3 among 83 test(s) make[1]: *** [t1000-read-tree-m-3way.sh] Error 1 make[1]: Leaving directory `/c/user/namsh/unix/git/t' make: *** [test] Error 2 2007-01-18 ============================================================================== GIT_VERSION = 1.5.0.rc1.g556b-dirty ... * FAIL 50: 3 - must match A in !O && A && !B case. rm -f .git/index AN && cp .orig-A/AN AN && git-update-index --add AN && git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe 997bbc4a0a51e0574168a4f637739380edebe4d7 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 && check_result ... * FAIL 53: 4 - must match and be up-to-date in !O && A && B && A!=B case. rm -f .git/index AA && cp .orig-A/AA AA && git-update-index --add AA && git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe 997bbc4a0a51e0574168a4f637739380edebe4d7 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 && check_result ... * failed 2 among 83 test(s) make[1]: *** [t1000-read-tree-m-3way.sh] Error 1 make[1]: Leaving directory `/c/user/namsh/unix/git/t' make: *** [test] Error 2 2007-01-24 ============================================================================== GIT_VERSION = 1.5.0.rc2.gc9a89-dirty ... * FAIL 50: 3 - must match A in !O && A && !B case. rm -f .git/index AN && cp .orig-A/AN AN && git-update-index --add AN && git-read-tree -m 3fe085e0589de4327971d50e416fc292dd00fbfe 997bbc4a0a51e0574168a4f637739380edebe4d7 76d47d681d7f1d4fa975334a9a0ba8a6eeea2226 && check_result ... * failed 1 among 83 test(s) make[1]: *** [t1000-read-tree-m-3way.sh] Error 1 make[1]: Leaving directory `/c/user/namsh/unix/git/t' make: *** [test] Error 2 GIT build script ==================================================================== ... if test ! -r ./configure || test ./configure.ac -nt ./configure then printf "Run autoconf..." autoconf echo " DONE!" fi if test ! -r ./config.mak.autogen \ || test ./configure -nt ./config.mak.autogen then ./configure --prefix=$prefix fi # generate personal configuration makefile [ -r config.mak ] && rm -f config.mak touch config.mak [ -r config.mak ] || die "Cannot generate config.mak" $E "CFLAGS=$CFLAGS" >> config.mak $E "DESTDIR=$DESTDIR" >> config.mak # git's configure script could not find the libiconv for CYGWIN. $E "NEEDS_LIBICONV=1\nNO_ICONV=" >> config.mak $E "NO_PERL_MAKEMAKER=1" >> config.mak # have no PERL MakeMaker $E "NO_TRUSTABLE_FILEMODE=" >> config.mak # default filemode = true # FAT32 has issues with 'mmap', but I only have NTFS. $E "NO_MMAP=" >> config.mak if make all doc then # I don't use CVS/Subversion. So skip those tests. export GIT_SKIP_TESTS='t91?? t92??' if ! make test then ${E} "\n*** ${R}Test failed${N} ***\n" # I don't know why... Sometimes first 'make test' failed. printf "Try again... " if ! make test >/dev/null 2>&1 then die "2nd test failed also." fi printf "OK!" fi rm -f "$gitLog" if ! make install install-doc > "$gitLog" 2>&1 then die "Install failed. Check $gitLog" fi rm -f "$gitLog" ... fi - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html