Subject: Re: [PATCH 00/19] Let Git's tests pass on Windows

From: Junio C Hamano <[email-masked]>
Date: Sun, 24 Jan 2016 17:34:08 -0800

Johannes Schindelin <[email-masked]> writes:

> This is a big milestone. With these modifications, Git's source code
> does not only build without warnings in Git for Windows' SDK, but
> passes the entire regression test suite.

;-)

It is somewhat surprising that with only these changes my tree is no
longer behind the Git for Windows effort--all tests pass so everything
should be working perfectly, right ;-)

There were a few changes in the series that raised my eyebrows,
which I'll respond separately, but overall it's a great
achievement.

Thanks.

>
> The patch series contains three different types of patches. First,
> there are a couple of real fixes that were triggered by failures in
> the regression tests. Then there are a couple of fixes to the
> regression tests themselves. And finally, we have to disable a couple
> of tests because we simply cannot make them work on Windows.
>
>
> Johannes Schindelin (13):
>   mingw: let's use gettext with MSYS2
>   mingw: do not trust MSYS2's MinGW gettext.sh
>   Git.pm: stop assuming that absolute paths start with a slash
>   mingw: prepare the TMPDIR environment variable for shell scripts
>   mingw: let lstat() fail with errno == ENOTDIR when appropriate
>   mingw: fix t5601-clone.sh
>   mingw: accomodate t0060-path-utils for MSYS2
>   mingw: disable mkfifo-based tests
>   tests: turn off git-daemon tests if FIFOs are not available
>   mingw: fix t9700's assumption about directory separators
>   mingw: work around pwd issues in the tests
>   mingw: skip a couple of git-svn tests that cannot pass on Windows
>   mingw: do not bother to test funny file names
>
> Karsten Blees (2):
>   mingw: factor out Windows specific environment setup
>   mingw: do not use symlinks with SVN in t9100
>
> Pat Thoyts (1):
>   mingw: avoid absolute path in t0008
>
> Thomas Braun (1):
>   mingw: outsmart MSYS2's path substitution in t1508
>
> 마누엘 (2):
>   mingw: try to delete target directory before renaming
>   mingw: fix git-svn tests that expect chmod to work
>
>  Makefile                              |  1 +
>  compat/mingw.c                        | 91 +++++++++++++++++++++++++++++------
>  config.mak.uname                      |  3 +-
>  perl/Git.pm                           |  3 +-
>  t/lib-git-daemon.sh                   |  5 ++
>  t/t0008-ignores.sh                    |  8 ++-
>  t/t0060-path-utils.sh                 | 37 ++++++++------
>  t/t1508-at-combinations.sh            | 13 ++++-
>  t/t3300-funny-names.sh                |  1 +
>  t/t3600-rm.sh                         |  3 +-
>  t/t3703-add-magic-pathspec.sh         |  2 +-
>  t/t3902-quoted.sh                     |  1 +
>  t/t4016-diff-quote.sh                 |  1 +
>  t/t4135-apply-weird-filenames.sh      |  3 +-
>  t/t5601-clone.sh                      | 18 +++----
>  t/t7800-difftool.sh                   | 14 +++---
>  t/t9100-git-svn-basic.sh              | 29 +++++++----
>  t/t9118-git-svn-funky-branch-names.sh | 12 +++--
>  t/t9124-git-svn-dcommit-auto-props.sh | 20 ++++++--
>  t/t9130-git-svn-authors-file.sh       |  2 +-
>  t/t9200-git-cvsexportcommit.sh        |  2 +-
>  t/t9400-git-cvsserver-server.sh       |  6 +--
>  t/t9401-git-cvsserver-crlf.sh         |  6 +--
>  t/t9402-git-cvsserver-refs.sh         |  6 +--
>  t/t9700/test.pl                       |  2 +-
>  t/t9903-bash-prompt.sh                |  2 +-
>  t/test-lib.sh                         |  2 +-
>  test-fake-ssh.c                       | 30 ++++++++++++
>  28 files changed, 238 insertions(+), 85 deletions(-)
>  create mode 100644 test-fake-ssh.c