- 03 Jan, 2018 1 commit
-
-
Some function bodies of tests which are not applicable to the Win32 platform are completely #ifdef'd out instead of calling `cl_skip()`. This leaves us with no indication that these tests are not being executed at all and may thus cause decreased scrutiny when investigating skipped tests. Improve the situation by calling `cl_skip()` instead of just doing nothing.
Patrick Steinhardt committed
-
- 09 Oct, 2017 2 commits
-
-
While we verify that we have no mode changes after calling `git_checkout_tree`, we do not verify that the `p_chmod` calls actually resulted in a changed entry. While we should assume that this works due to separate tests for the status list, we should test for the change being listed to avoid programming errors in the test.
Patrick Steinhardt committed -
There are multiple locations where we have the same code to check whether the count of status list entries of a repository matches an expected number. Extract that into a common function.
Patrick Steinhardt committed
-
- 07 Oct, 2017 1 commit
-
-
Test that we can successfully force checkout a target when the file contents are identical, but the mode has changed.
Edward Thomson committed
-
- 10 Jun, 2017 1 commit
-
-
If the `GIT_CHECKOUT_FORCE` flag is given to any of the `git_checkout` invocations, we remove files which were previously staged. But while doing so, we unfortunately also remove unstaged files in a directory which contains at least one staged file, resulting in potential data loss. This commit adds two tests to verify behavior.
Patrick Steinhardt committed
-
- 10 Apr, 2017 1 commit
-
-
Patrick Steinhardt committed
-
- 23 Jan, 2017 1 commit
-
-
Edward Thomson committed
-
- 30 Dec, 2016 1 commit
-
-
git_checkout_tree() sets up its working directory iterator to respect the pathlist if GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH is present, which is great. What's not so great is that this iterator is then used side-by-side with an iterator created by git_checkout_iterator(), which did not set up its pathlist appropriately (although the iterator mirrors all other iterator options). This could cause git_checkout_tree() to delete working tree files which were not specified in the pathlist when GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH was used, as the unsynchronized iterators causes git_checkout_tree() to think that files have been deleted between the two trees. Oops. And added a test which fails without this fix (specifically, the final check for "testrepo/README" to still be present fails).
John Fultz committed
-
- 30 Aug, 2016 1 commit
-
-
According to the reference the git_checkout_tree and git_checkout_head functions should accept NULL in the opts field This was broken since the opts field was dereferenced and thus lead to a crash.
Stefan Huber committed
-
- 15 Jun, 2016 1 commit
-
-
When no index file exists and a baseline is not explicitly provided, use an empty baseline instead of trying to load `HEAD`.
Edward Thomson committed
-
- 07 Jun, 2016 1 commit
-
-
Patrick Steinhardt committed
-
- 01 Jun, 2016 1 commit
-
-
Edward Thomson committed
-
- 26 May, 2016 1 commit
-
-
Don't generate conflicts when checking out a modified submodule and the submodule is dirty or modified in the workdir.
Jason Haslam committed
-
- 24 May, 2016 1 commit
-
-
Haiku and Hurd both pass extra bits in struct stat::st_mode.
François Revol 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
-
- 01 Dec, 2015 1 commit
-
-
Fix the file-mode test to expect system umask being applied to the created file as well (it is currently applied to the directory only). This fixes the test on systems where umask != 022. Signed-off-by: Michał Górny <mgorny@gentoo.org>
Michał Górny committed
-
- 20 Nov, 2015 1 commit
-
-
Jacques Germishuys committed
-
- 17 Nov, 2015 1 commit
-
-
When there's no matching index entry (for whatever reason), don't try to dereference the null return value to get at the id. Otherwise when we break something in the index API, the checkout test crashes for confusing reasons and causes us to step through it in a debugger thinking that we had broken much more than we actually did.
Edward Thomson committed
-
- 19 Sep, 2015 1 commit
-
-
Axel Rasmussen committed
-
- 17 Sep, 2015 1 commit
-
-
Untangle git_futils_mkdir from git_futils_mkdir_ext - the latter assumes that we own everything beneath the base, as if it were being called with a base of the repository or working directory, and is tailored towards checkout and ensuring that there is no bogosity beneath the base that must be cleaned up. This is (at best) slow and (at worst) unsafe in the larger context of a filesystem where we do not own things and cannot do things like unlink symlinks that are in our way.
Edward Thomson committed
-
- 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
-
- 30 Jun, 2015 1 commit
-
-
Edward Thomson committed
-
- 29 Jun, 2015 1 commit
-
-
Edward Thomson committed
-
- 26 Jun, 2015 1 commit
-
-
Carlos Martín Nieto committed
-
- 22 Jun, 2015 3 commits
-
-
All platforms do terrible, horrible, no good, very bad translation when core.autocrlf=true. It's not just Windows!
Edward Thomson committed -
Given a variety of combinations of core.autocrlf settings and attributes settings, test that we check out data into the working directory the same as a known-good test resource created by git.git.
Edward Thomson committed -
Include the UTF8 and UTF8 BOM tests in the master crlf test branch for completeness.
Edward Thomson committed
-
- 20 Jun, 2015 1 commit
-
-
When ticking over one second, it can happen that the actual time ticks over the same second between the time that we undermine our own race protections and the time in which we perform the index update. Such timing would make the time in the entries match the index' timestamp and we have not gained anything. Ticking over five seconds makes it so that if real-time rolls over that second, our index is still ahead. This is still suboptimal as we're dealing with timing, but five seconds should be long enough for any reasonable test runner to finish the tests.
Carlos Martín Nieto committed
-
- 17 Jun, 2015 1 commit
-
-
Pierre-Olivier Latour committed
-
- 16 Jun, 2015 3 commits
-
-
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 -
These tests want to test that we don't recalculate entries which match the index already. This is however something we force when truncating racily-clean entries. Tick the index forward as we know that we don't perform the modifications which the racily-clean code is trying to avoid.
Carlos Martín Nieto committed -
In order to avoid racy-git, we zero out the file size for entries with the same timestamp as the index (or during the initial checkout). This is the case in a couple of crlf tests, as the code is fast enough to do everything in the same second. As we know that we do not perform the modification just after writing out the index, which is what this is designed to work around, tick the mtime of the index file such that it doesn't agree with the files anymore, and we do not zero out these entries.
Carlos Martín Nieto committed
-
- 12 Jun, 2015 1 commit
-
-
Jeff Hostetler 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
-
- 26 May, 2015 1 commit
-
-
Git inserts a space after the SHA1 (as of 2.1.4 at least), so do the same.
Colomban Wendling committed
-