tests-clar/checkout/tree.c


Log

Author Commit Date CI Message
Russell Belfer 40342bd2 2013-01-10T15:15:37 Add GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH This adds an option to checkout a la the diff option to turn off fnmatch evaluation for pathspec entries. This can be useful to make sure your "pattern" in really interpretted as an exact file match only.
nulltoken b97fabfa 2013-01-06T15:18:00 tests: Fix some memory leaks
Russell Belfer bebdbcd4 2013-01-04T16:56:21 Fix crlf issue with checkout tests Move some checkout utility functions into a shared file and fix some crlf filtering issues when verifying file contents.
Russell Belfer 0d70f650 2013-01-03T10:51:18 Fixing checkout UPDATE_ONLY and adding tests This adds a bunch of new checkout tests and in the process I found a bug in the GIT_CHECKOUT_UPDATE_ONLY flag which I fixed.
Russell Belfer 5cf9875a 2012-12-18T15:19:24 Add index updating to checkout Make checkout update entries in the index for all files that are updated and/or removed, unless flag GIT_CHECKOUT_DONT_UPDATE_INDEX is given. To do this, iterators were extended to allow a little more introspection into the index being iterated over, etc.
Russell Belfer 7e5c8a5b 2012-12-10T15:31:43 More checkout improvements This flips checkout back to be driven off the changes between the baseline and the target trees. This reinstates the complex code for tracking the contents of the working directory, but overall, I think the resulting logic is easier to follow.
Russell Belfer cf208031 2012-12-06T13:36:17 Rework checkout internals (again) I've tried to map out the detailed behaviors of checkout and make sure that we're handling the various cases correctly, along with providing options to allow us to emulate "git checkout" and "git checkout-index" with the various flags. I've thrown away flags in the checkout API that seemed like clutter and added some new ones. Also, I've converted the conflict callback to a general notification callback so we can emulate "git checkout" output and display "dirty" files. As of this commit, the new behavior is not working 100% but some of that is probably baked into tests that are not testing the right thing. This is a decent snapshot point, I think, along the way to getting the update done.
Jameson Miller c5df10f4 2012-11-30T10:59:03 Failing test on git_checkout_tree when removing directories
Marvin Gülker d0951175 2012-12-06T16:12:21 Add failing test to demonstrate wrong checkout behaviour
Ben Straub 0ab3a2ab 2012-11-30T20:34:50 Deploy GIT_INIT_STRUCTURE
Ben Straub b81aa2f1 2012-11-29T14:06:40 Deploy GIT_CHECKOUT_OPTS_INIT
Sascha Cunz 9094d30b 2012-11-23T11:41:56 Reset all static variables to NULL in clar's __cleanup Without this change, any failed assertion in the second (or a later) test inside a test suite has a chance of double deleting memory, resulting in a heap corruption. See #1096 for details. This leaves alone the test cases where we "just" use cl_git_sandbox_init() and cl_git_sandbox_cleanup(). These methods already take good care to not double delete a repository. Fixes #1096
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.
Ben Straub 1fc375e6 2012-10-25T09:02:55 Fix Windows build Pedantic ordering of GIT_UNUSED vs. variable declarations.
Ben Straub 9c05c17b 2012-10-19T20:05:18 Checkout progress now reports completed/total steps
Ben Straub 25e8b201 2012-10-18T15:35:03 Fix broken tests
Ben Straub 80642656 2012-10-16T20:23:10 Convert checkout_* to use progress callback
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 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()