- 16 Sep, 2015 5 commits
-
-
When a file exists on disk and we're checking out a file that differs in executableness, remove the old file. This allows us to recreate the new file with p_open, which will take the new mode into account and handle setting the umask properly. Remove any notion of chmod'ing existing files, since it is now handled by the aforementioned removal and was incorrect, as it did not take umask into account.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Matti Virolainen committed
-
Matti Virolainen committed
-
- 29 May, 2015 1 commit
-
-
We do not error on "merge conflicts"; on the contrary, merge conflicts are a normal part of merging. We only error on "checkout conflicts", where a change exists in the index or the working directory that would otherwise be overwritten by performing the checkout. This *may* happen during merge (after the production of the new index that we're going to checkout) but it could happen during any checkout.
Edward Thomson committed
-
- 28 May, 2015 1 commit
-
-
Edward Thomson committed
-
- 04 May, 2015 4 commits
-
-
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
-
- 03 Mar, 2015 4 commits
-
-
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 1 commit
-
-
Edward Thomson committed
-
- 03 Feb, 2015 1 commit
-
-
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
-
- 20 Jan, 2015 1 commit
-
-
Checkout can now provide performance data about the number of (some) syscalls performed using an optional callback.
Edward Thomson 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
-
- 23 Nov, 2014 1 commit
-
-
Valgrind is now clean except for libssl and libgcrypt.
Carlos Martín Nieto committed
-
- 06 Nov, 2014 1 commit
-
-
Edward Thomson committed
-
- 03 Aug, 2014 1 commit
-
-
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 06 Mar, 2014 1 commit
-
-
Ben Straub committed
-
- 03 Feb, 2014 1 commit
-
-
Ben Straub committed
-
- 30 Jan, 2014 2 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
- 25 Jan, 2014 1 commit
-
-
This was not converted when we converted the rest, so do it now.
Carlos Martín Nieto committed
-
- 22 Jan, 2014 1 commit
-
-
Don't try to determine whether the system supports file modes when putting the tree data in the index during checkout. The tree's mode is canonical and did not come from stat(2) in the first place.
Edward Thomson committed
-
- 15 Jan, 2014 1 commit
-
-
Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters.
Carlos Martín Nieto committed
-
- 13 Dec, 2013 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 11 Dec, 2013 2 commits
-
-
Russell Belfer committed
-
The checkout notify callback behavior on non-zero return values was not being tested. This adds tests, fixes a bug with positive values, and clarifies the documentation to make it clear that the checkout can be canceled via this mechanism.
Russell Belfer committed
-