- 16 Feb, 2016 1 commit
-
-
Edward Thomson committed
-
- 12 Feb, 2016 1 commit
-
-
Windows defines `timeval` with `long`, which we cannot sanely cope with. Instead, use a custom timeval struct.
Edward Thomson committed
-
- 17 Sep, 2015 1 commit
-
-
Don't coalesce all errors into ENOENT. At least identify EACCES. All callers should be handling this case already, as the POSIX `lstat` will return this.
Edward Thomson committed
-
- 02 Jul, 2015 1 commit
-
-
Introduce `git__getenv` which is a UTF-8 aware `getenv` everywhere. Make `cl_getenv` use this to keep consistent memory handling around return values (free everywhere, as opposed to only some platforms).
Edward Thomson committed
-
- 16 Jun, 2015 1 commit
-
-
Provide functionality to set the time on a filesystem entry, using utimes or futimes on POSIX type systems or SetFileTime on Win32.
Edward Thomson committed
-
- 28 Apr, 2015 2 commits
-
-
Edward Thomson committed
-
Changed win32/path_w32.c to utilize NTFS' FindFirst..FindNext data instead of doing an lstat per file. Avoiding unnecessary directory opens and file scans reduces IO, improving overall performance. Effect is magnified due to NTFS being a kernel mode file system (as opposed to user mode).
J Wyman committed
-
- 06 Mar, 2015 1 commit
-
-
Matti Virolainen committed
-
- 03 Mar, 2015 2 commits
-
-
Jeff Hostetler committed
-
Jeff Hostetler committed
-
- 13 Feb, 2015 1 commit
-
-
Win32 generally ignores Unix-like mode bits that don't make any sense on the platform (eg `0644` makes no sense to Windows). But WINE complains loudly when presented with POSIXy bits. Remove them. (Thanks @phkelley)
Edward Thomson committed
-
- 05 Feb, 2015 1 commit
-
-
`p_stat` calls `git_win32_path_from_utf8`, which canonicalizes the path. Do not further try to modify the path, else we trim the trailing slash from a root directory and try to access `C:` instead of `C:/`.
Edward Thomson committed
-
- 16 Dec, 2014 1 commit
-
-
When turning UTF-8 paths into UCS-2 paths for Windows, always use the \\?\-prefixed paths. Because this bypasses the system's path canonicalization, handle the canonicalization functions ourselves. We must: 1. always use a backslash as a directory separator 2. only use a single backslash between directories 3. not rely on the system to translate "." and ".." in paths 4. remove trailing backslashes, except at the drive root (C:\)
Edward Thomson committed
-
- 13 Oct, 2014 1 commit
-
-
A reparse point that is an IO_REPARSE_TAG_MOUNT_POINT could be a junction or an actual filesystem mount point. (Who knew?) If it's the latter, its reparse point will report the actual volume information \??\Volume{GUID}\ and we should not attempt to dereference that further, instead readlink should report EINVAL since it's not a symlink / junction and its original path was canonical. Yes, really.
Edward Thomson committed
-
- 05 Aug, 2014 2 commits
-
-
Jacques Germishuys committed
-
* Removes mingw-compat.h * Cleans up separation of compiler/platform idiosyncrasies * Unifies mingw/msvc stat structures and functions * (Tries to) hide more compiler specific implementation details (even in our internal API)
Jacques Germishuys committed
-
- 06 Jul, 2014 2 commits
-
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
- 04 Jun, 2014 1 commit
-
-
When renaming a lock file to its final location, we need to make sure that it is replaced atomically. We currently have a workaround for Windows by removing the target file. This means that the target file, which may be a ref or a packfile, may cease to exist for a short wile, which shold be avoided. Implement the workaround only in Windows, by making sure that the file we want to replace is writable.
Carlos Martín Nieto committed
-
- 16 May, 2014 2 commits
-
-
Windows has its own ftruncate() called _chsize_s(). p_mkstemp() is changed to use p_open() so we can make sure we open for writing; the addition of exclusive create is a good thing to do regardless, as we want a temporary path for ourselves. Lastly, MSVC doesn't quite know how to add two numbers if one of them is a void pointer, so let's alias it to unsigned char.C
Carlos Martín Nieto committed -
Philip Kelley committed
-
- 23 Apr, 2014 1 commit
-
-
Philip Kelley committed
-
- 22 Apr, 2014 1 commit
-
-
Edward Thomson committed
-
- 20 Apr, 2014 1 commit
-
-
Philip Kelley committed
-
- 27 Mar, 2014 1 commit
-
-
When a file is open for reading (without shared-delete permission), and then a different thread/process called p_rename, that would fail, even if the file was only open for reading for a few milliseconds. This change lets p_rename wait up to 50ms for the file to be closed by the reader. Applies only to win32. This is especially important for git_filebuf_commit, because writes should not fail if the file is read simultaneously. Fixes #2207
Jan Melcher committed
-
- 08 Oct, 2013 1 commit
-
-
This cleans up some additional issues. The main change is that on a filesystem that doesn't support mode bits, libgit2 will now create new blobs with GIT_FILEMODE_BLOB always instead of being at the mercy to the filesystem driver to report executable or not. This means that if "core.filemode" lies and claims that filemode is not supported, then we will ignore the executable bit from the filesystem. Previously we would have allowed it. This adds an option to the new git_repository_reset_filesystem to recurse through submodules if desired. There may be other types of APIs that would like a "recurse submodules" option, but this one is particularly useful. This also has a number of cleanups, etc., for related things including trying to give better error messages when problems come up from the filesystem. For example, the FAT filesystem driver on MacOS appears to return errno EINVAL if you attempt to write a filename with invalid UTF-8 in it. We try to capture that with a better error message now.
Russell Belfer committed
-
- 19 Aug, 2013 2 commits
-
-
p_inet_pton on Windows should set errno properly for callers. Rewrite p_inet_pton to handle error cases correctly and add test cases to exercise this function.
Edward Thomson committed -
We didn't use the added precision in gettimeofday, so remove it. This prevents us from having an unnecessary reimplementation on win32.
Edward Thomson committed
-
- 16 Aug, 2013 1 commit
-
-
Martin Woodward committed
-
- 13 Aug, 2013 4 commits
-
-
This is just a bunch of small fixes that I noticed while looking at the UTF8 and UTF16 path stuff. It fixes a slowdown in looking for an empty directory (not exiting loop asap), makes the dir name in the git__DIR structure be a GIT_FLEX_ARRAY to save an allocation, and fixes some slightly odd assumptions in the cl_getenv helper.
Russell Belfer committed -
Russell Belfer committed
-
Russell Belfer committed
-
Vicent Marti committed
-
- 08 Aug, 2013 2 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
- 07 Aug, 2013 1 commit
-
-
...and normalize the signatures of the two conversion functions.
Ben Straub committed
-
- 05 Aug, 2013 1 commit
-
-
Also fixed up call-sites to use the correct buffer sizes, especially when converting to utf-8.
Ben Straub committed
-
- 25 Jun, 2013 1 commit
-
-
A junction has S_IFDIR | S_IFLNK set, however, only one makes sense. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 12 Jun, 2013 1 commit
-
-
This fixes problems with missing function prototypes and 64-bit data issues on Windows.
Russell Belfer committed
-
- 15 May, 2013 1 commit
-
-
nulltoken committed
-