- 04 May, 2015 6 commits
-
-
On Mac OS, `realpath` is deficient in determining the actual filename on-disk as it will simply provide the string you gave it if that file exists, instead of returning the filename as it exists. Instead we must read the directory entries for the parent directory to get the canonical filename.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
This reverts commit 40d79154.
Edward Thomson committed -
Ensure that on a case insensitive filesystem that we can checkout into some folder 'FOLDER' that exists on disk, even if the target of the checkout is a different case (eg 'folder').
Edward Thomson committed -
On Windows, you might sloppily rewrite a file (or have a sloppy text editor that does it for you) and accidentally change its case. (eg, "README" -> "readme"). Git ignores this accidental case changing rename during checkout and will happily write the new content to the file despite the name change. We should, too.
Edward Thomson committed
-
- 06 Apr, 2015 1 commit
-
-
git_checkout_tree() has some fallback behaviors for file systems which don't have full support of filemodes. Generally works fine, but if a given file had a change of type from a 0644 to 0755 (i.e., you add executable permissions), the fallback behavior incorrectly triggers when writing hte updated index. This would cause a git_checkout_tree() command, even with the GIT_CHECKOUT_FORCE option set, to leave a dirty index on Windows. Also added checks to an existing test to catch this case.
John Fultz committed
-
- 04 Apr, 2015 1 commit
-
-
Linquize committed
-
- 25 Mar, 2015 1 commit
-
-
Jacques Germishuys committed
-
- 16 Mar, 2015 1 commit
-
-
Since the Linux platform has a case sensitive file system, the header name should be lower case for cross compiling purposes. (On Linux, the mingw header is called ```windows.h```).
Claudiu Olteanu committed
-
- 03 Mar, 2015 5 commits
-
-
Carlos Martín Nieto committed
-
We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
Carlos Martín Nieto committed -
This namespace is about behaving like git's branch command, so let's do exactly that instead of taking a reflog message. This override is still available via the reference namespace.
Carlos Martín Nieto committed -
This function is meant to simulate what git does in the reset command, so we should include the reflog message in that.
Carlos Martín Nieto committed -
The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto committed
-
- 27 Feb, 2015 3 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
When the repository does not contain an index, emulate git's behavior and upgrade to `SAFE_CREATE`. This allows us to check out repositories created with `git clone --no-checkout`.
Edward Thomson committed
-
- 14 Feb, 2015 1 commit
-
-
Edward Thomson committed
-
- 04 Feb, 2015 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 03 Feb, 2015 2 commits
-
-
Edward Thomson committed
-
The .gitattributes cache should not reload .gitattributes in the middle of checking out, only between checkout operations. Otherwise, we'll spend all our time stat'ing and read'ing the gitattributes.
Edward Thomson committed
-
- 30 Jan, 2015 1 commit
-
-
Linquize committed
-
- 20 Jan, 2015 6 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
On case insensitive filesystems, we may have files in the working directory that case fold to a name we want to write. Remove those files (by default) so that we will not end up with a filename that has the unexpected case.
Edward Thomson committed -
Symbolic links that abuse case insensitivity to write into .git.
Edward Thomson committed -
Checkout can now provide performance data about the number of (some) syscalls performed using an optional callback.
Edward Thomson committed -
Linquize committed
-
- 04 Jan, 2015 1 commit
-
-
Carlos Martín Nieto committed
-
- 23 Dec, 2014 2 commits
-
-
On a case-insensitive filesystem, we need to deal with case-changing renames (eg, foo -> FOO) by removing the old and adding the new, exactly as if we were on a case-sensitive filesystem. Update the `checkout::tree::can_cancel_checkout_from_notify` test, now that notifications are always sent case sensitively.
Edward Thomson committed -
Edward Thomson committed
-
- 17 Dec, 2014 1 commit
-
-
Validate HFS ignored char ".git" paths when `core.protectHFS` is specified. Validate NTFS invalid ".git" paths when `core.protectNTFS` is specified.
Edward Thomson committed
-
- 16 Dec, 2014 2 commits
-
-
HFS filesystems ignore some characters like U+200C. When these characters are included in a path, they will be ignored for the purposes of comparison with other paths. Thus, if you have a ".git" folder, a folder of ".git<U+200C>" will also match. Protect our ".git" folder by ensuring that ".git<U+200C>" and friends do not match it.
Edward Thomson committed -
Disallow: 1. paths with trailing dot 2. paths with trailing space 3. paths with trailing colon 4. paths that are 8.3 short names of .git folders ("GIT~1") 5. paths that are reserved path names (COM1, LPT1, etc). 6. paths with reserved DOS characters (colons, asterisks, etc) These paths would (without \\?\ syntax) be elided to other paths - for example, ".git." would be written as ".git". As a result, writing these paths literally (using \\?\ syntax) makes them hard to operate with from the shell, Windows Explorer or other tools. Disallow these.
Edward Thomson committed
-
- 23 Nov, 2014 1 commit
-
-
Valgrind is now clean except for libssl and libgcrypt.
Carlos Martín Nieto committed
-
- 06 Nov, 2014 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 13 Oct, 2014 1 commit
-
-
Edward Thomson committed
-