tests-clar/checkout


Log

Author Commit Date CI Message
Russell Belfer bbe6dbec 2012-11-14T23:29:48 Add explicit git_index ptr to diff and checkout A number of diff APIs and the `git_checkout_index` API take a `git_repository` object an operate on the index. This updates them to take a `git_index` pointer explicitly and only fall back on the `git_repository` index if the index input is NULL. This makes it easier to operate on a temporary index.
Russell Belfer ad9a921b 2012-11-08T17:05:07 Rework checkout with new strategy options This is a major reworking of checkout strategy options. The checkout code is now sensitive to the contents of the HEAD tree and the new options allow you to update the working tree so that it will match the index content only when it previously matched the contents of the HEAD. This allows you to, for example, to distinguish between removing files that are in the HEAD but not in the index, vs just removing all untracked files. Because of various corner cases that arise, etc., this required some additional capabilities in rmdir and other utility functions. This includes the beginnings of an implementation of code to read a partial tree into the index based on a pathspec, but that is not enabled because of the possibility of creating conflicting index entries.
Russell Belfer 32def5af 2012-10-24T17:37:07 Fix checkout behavior when its hands are tied So, @nulltoken created a failing test case for checkout that proved to be particularly daunting. If checkout is given only a very limited strategy mask (e.g. just GIT_CHECKOUT_CREATE_MISSING) then it is possible for typechange/rename modifications to leave it unable to complete the request. That's okay, but the existing code did not have enough information not to generate an error (at least for tree/blob conflicts). This led me to a significant reorganization of the code to handle the failing case, but it has three benefits: 1. The test case is handled correctly (I think) 2. The new code should actually be much faster than the old code since I decided to make checkout aware of diff list internals. 3. The progress value accuracy is hugely increased since I added a fourth pass which calculates exactly what work needs to be done before doing anything.
Ben Straub 1fc375e6 2012-10-25T09:02:55 Fix Windows build Pedantic ordering of GIT_UNUSED vs. variable declarations.
Vicent Martí 1eb8cd7f 2012-10-25T08:16:13 Merge pull request #990 from ben/clone-callbacks Progress callbacks
nulltoken cd1ef822 2012-10-20T12:07:53 test: extract make_head_orphaned() logic
Ben Straub 9c05c17b 2012-10-19T20:05:18 Checkout progress now reports completed/total steps
Ben Straub cd001bbb 2012-10-19T19:37:47 Fix from rebase
Ben Straub 25e8b201 2012-10-18T15:35:03 Fix broken tests
Ben Straub 30a46ab1 2012-10-18T14:04:14 Adjust for rebase
nulltoken 0ae81fc4 2012-10-17T15:30:22 index: remove read_tree() progress indicator git_index_read_tree() was exposing a parameter to provide the user with a progress indicator. Unfortunately, due to the recursive nature of the tree walk, the maximum number of items to process was unknown. Thus, the indicator was only counting processed entries, without providing any information how the number of remaining items.
Ben Straub 80642656 2012-10-16T20:23:10 Convert checkout_* to use progress callback
Ben Straub 2c8bbb27 2012-10-16T20:16:21 Convert checkout_index to use progress callback
nulltoken 8b05bea8 2012-10-19T17:07:39 errors: deploy GIT_EORPHANEDHEAD usage
Russell Belfer 0d64bef9 2012-10-05T15:56:57 Add complex checkout test and then fix checkout This started as a complex new test for checkout going through the "typechanges" test repository, but that revealed numerous issues with checkout, including: * complete failure with submodules * failure to create blobs with exec bits * problems when replacing a tree with a blob because the tree "example/" sorts after the blob "example" so the delete was being processed after the single file blob was created This fixes most of those problems and includes a number of other minor changes that made it easier to do that, including improving the TYPECHANGE support in diff/status, etc.
nulltoken 9e592583 2012-09-19T12:23:47 checkout: add notification callback for skipped files
nulltoken 39783719 2012-09-17T20:27:28 checkout: Mimic git_diff_options storage of paths
nulltoken 10df95c3 2012-09-15T12:23:49 checkout: add test coverage of dirs and subtrees
nulltoken c214fa1c 2012-09-06T15:15:46 checkout: segregate checkout strategies
nulltoken 020cda99 2012-09-14T16:45:24 checkout: separate tree from index related tests
nulltoken 3aa443a9 2012-08-20T16:56:45 checkout: introduce git_checkout_tree()
Russell Belfer e9ca852e 2012-08-23T09:20:17 Fix warnings and merge issues on Win64
Ben Straub b2be351a 2012-08-21T10:10:32 Win32: test core.autocrlf
Ben Straub c3588142 2012-08-20T20:24:20 Tests: close file handles before asserting Avoids getting ERROR_SHARING_VIOLATION on win32 and killing the entire clar run.
Ben Straub eb87800a 2012-08-06T09:34:17 Checkout: fix memory leak in tests.
Ben Straub 5f4d2f9f 2012-07-31T19:49:19 Checkout: fix problem with detached HEAD.
Ben Straub 78cd966a 2012-07-31T16:24:04 Checkout: fix crlf tests under win32.
Ben Straub e4bac3c4 2012-07-31T15:38:12 Checkout: crlf filter.
Ben Straub 8e4aae1a 2012-07-31T10:44:42 Checkout: handle file modes properly. Global file mode override now works properly with the file mode stored in the tree node.
Ben Straub 3f584b50 2012-07-31T09:01:11 Try to fix Travis.
Ben Straub e0681f6d 2012-07-27T20:39:43 Checkout: disable file-mode test on win32.
Ben Straub b31667fb 2012-07-27T20:29:06 Checkout: add head- and ref-centric checkouts. Renamed git_checkout_index to what it really was, and removed duplicate code from clone.c. Added git_checkout_ref, which updates HEAD and hands off to git_checkout_head. Added tests for the options the caller can pass to git_checkout_*.
Ben Straub b401bace 2012-07-26T13:12:21 Restructure for better checkout options * Removed the #define for defaults * Promoted progress structure to top-level API call argument
Ben Straub ef9905c9 2012-07-26T12:58:44 checkout: introduce git_checkout_opts Refactor checkout into several more-sensible entry points, which consolidates common options into a single structure that may be passed around.
Ben Straub 09a03995 2012-07-17T20:20:34 Checkout: make core.symlinks test work on OSX.
Ben Straub 8651c10f 2012-07-17T19:57:37 Checkout: obey core.symlinks.
Ben Straub 1d68fcd0 2012-07-16T16:16:11 Checkout: handle symlinks. Includes unfinished win32 implementation.
Ben Straub 71bc89b9 2012-07-13T20:24:40 Disable test that aren't quite ready yet.
Ben Straub 280c7bbf 2012-07-13T15:52:27 Add checkout test suite. Removed 'bare' option from test repository to allow checkout tests.