git/compat
Karsten Blees 85faec9d3a Win32: Unicode file name support (except dirent)
Replaces Windows "ANSI" APIs dealing with file- or path names with their
Unicode equivalent, adding UTF-8/UTF-16LE conversion as necessary.

The dirent API (opendir/readdir/closedir) is updated in a separate commit.

Adds trivial wrappers for access, chmod and chdir.

Adds wrapper for mktemp (needed for both mkstemp and mkdtemp).

The simplest way to convert a repository with legacy-encoded (e.g. Cp1252)
file names to UTF-8 ist to checkout with an old msysgit version and
"git add --all & git commit" with the new version.

Includes a fix for bug reported by John Chen:
On Windows XP (not Win7), directories cannot be deleted while a find handle
is open, causing "Deletion of directory '...' failed. Should I try again?"
prompts.

Prior to this commit, these failures were silently ignored due to
strbuf_free in is_dir_empty resetting GetLastError to ERROR_SUCCESS.

Close the find handle in is_dir_empty so that git doesn't block deletion
of the directory even after all other applications have released it.

Reported-by: John Chen <john0312@gmail.com>
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-07-15 11:19:08 -07:00
..
nedmalloc Windows: do not redefine _WIN32_WINNT 2013-09-11 14:50:19 -07:00
poll compat/poll: sleep 1 millisecond to avoid busy wait 2014-04-29 09:55:38 -07:00
regex C: have space around && and || operators 2013-10-16 10:26:39 -07:00
vcbuild Merge branch 'ks/tree-diff-nway' 2014-06-03 12:06:40 -07:00
win32 Merge branch 'sk/mingw-dirent' 2014-07-09 11:34:27 -07:00
apple-common-crypto.h imap-send: use Apple's Security framework for base64 encoding 2013-07-30 08:53:24 -07:00
basename.c
bswap.h compat/bswap.h: fix endianness detection 2014-05-30 11:48:28 -07:00
fopen.c
gmtime.c date: recognize bogus FreeBSD gmtime output 2014-04-01 14:39:04 -07:00
hstrerror.c
inet_ntop.c
inet_pton.c
memmem.c
mingw.c Win32: Unicode file name support (except dirent) 2014-07-15 11:19:08 -07:00
mingw.h Win32: Unicode file name support (except dirent) 2014-07-15 11:19:08 -07:00
mkdir.c compat: some mkdir() do not like a slash at the end 2012-08-24 09:48:51 -07:00
mkdtemp.c
mmap.c wrapper.c: add xpread() similar to xread() 2014-04-10 12:18:55 -07:00
msvc.c
msvc.h MSVC: fix stat definition hell 2013-09-11 11:08:52 -07:00
obstack.c
obstack.h obstack: fix spelling of similar 2013-04-12 12:23:20 -07:00
pread.c
precompose_utf8.c Set core.precomposeunicode to true on e.g. HFS+ 2013-08-27 07:41:32 -07:00
precompose_utf8.h git on Mac OS and precomposed unicode 2012-07-08 22:03:46 -07:00
qsort.c
setenv.c
snprintf.c
strcasestr.c
strlcpy.c
strtoimax.c
strtoumax.c
terminal.c mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE 2013-05-08 12:14:35 -07:00
terminal.h
unsetenv.c Revert "compat/unsetenv.c: Fix a sparse warning" 2013-07-21 15:09:56 -07:00
win32.h mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE 2013-05-08 12:14:35 -07:00
win32mmap.c compat/win32mmap.c: Fix some sparse warnings 2013-04-28 12:27:08 -07:00
winansi.c Win32: reliably detect console pipe handles 2014-06-16 10:56:19 -07:00