t800[12]: work around MSys limitation

MSys works very hard to convert Unix-style paths into DOS-style ones.
*Very* hard.

So hard, indeed, that

	git blame -L/hello/,/green/

is translated into something like

	git blame -LC:/msysgit/hello/,C:/msysgit/green/

As seen in msys_p2w in src\msys\msys\rt\src\winsup\cygwin\path.cc, line
3204ff:

	case '-':
	  //
	  // here we check for POSIX paths as attributes to a POSIX switch.
	  //
	...

seemingly absolute POSIX paths in single-letter options get expanded by
msys.dll unless they contain '=' or ';'.

So a quick and very dirty fix is to use '-L/;*evil/'. (Using an equal sign
works only when it is before a comma, so in the above example, /=*green/
would still be converted to a DOS-style path.)

Commit-message-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
t9902: mingw-specific fix for gitfile link files

The path in a .git platform independent link file needs to be absolute
and under mingw we need it to be a windows type path, not a unix style
path so it should start with a drive letter and not a /.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Push the NATIVE_CRLF Makefile variable to C and added a test for native.

Commit 95f31e9a correctly points out that the NATIVE_CRLF setting is
incorrectly set on Mingw git. However, the Makefile variable is not
propagated to the C preprocessor and results in no change. This patch
pushes the definition to the C code and adds a test to validate that
when core.eol as native is crlf, we actually normalize text files to this
line ending convention when core.autocrlf is false.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
MinGW: Update tests to handle a native eol of crlf

Some of the tests were written with the assumption that the native eol would always be lf. After defining NATIVE_CRLF on MinGW, these tests began failing. This change will update the tests to also handle a native eol of crlf.

Signed-off-by: Brice Lambson <bricelam@live.com>
Disable t0110's high-bit test on Windows

The bash Git for Windows uses (i.e. the MSys bash) cannot pass
command-line arguments with high bits set verbatim to non-MSys programs,
but instead converts those characters with high bits set to their hex
representation.

For example, when running

	strings "$(echo -e '\x80')"

(where strings.exe is a MinGW program, not an MSys one) it will complain
about not finding the file called "80".

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Teach 'git pull' to handle --rebase=interactive

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Handle the branch.<name>.rebase value 'interactive'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Teach 'git remote' that the config var branch.*.rebase can be 'interactive'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Merge 'pull-rebase-interactive' into HEAD
Merge 'grep-fixes' into HEAD
Merge 'win-tests-fixes' into HEAD
Merge 'remote-hg-prerequisites' into HEAD

These fixes were necessary for Sverre Rabbelier's remote-hg to work,
but for some magic reason they are not necessary for the current
remote-hg. Makes you wonder how that one gets away with it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Merge 'http-msys-paths' into HEAD
Merge 'stash-reflog' into HEAD
Merge 'fix-externals' into HEAD
Merge 'fix-is-exe' into HEAD
Merge 'install-wincred' into HEAD
Merge 'msvc-link-crt' into HEAD
Merge 'normalize-win-paths' into HEAD
Merge 'poll-busy-wait' into HEAD