libgit2/tests/checkout
John Fultz 5f959dca0d Fix handling of GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH flag.
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).
2016-12-29 20:13:03 -06:00
..
binaryunicode.c Introduce cl_assert_equal_oid 2014-07-01 14:40:16 -04:00
checkout_helpers.c win32: introduce p_timeval that isn't stupid 2016-02-12 10:34:15 -08:00
checkout_helpers.h tests: tick the index when we count OID calculations 2015-06-16 08:51:45 +02:00
conflict.c checkout test: mark unused vars 2015-06-30 14:31:07 +00:00
crlf.c Fix some warnings 2015-11-20 20:48:51 +02:00
head.c git_checkout_opts -> git_checkout_options 2014-03-06 09:44:51 -08:00
icase.c Fix leaks in tests/checkout/icase 2015-06-12 09:28:47 -07:00
index.c test: Fix stat() test to mask out unwanted bits 2016-05-24 20:01:49 +02:00
nasty.c win32: further cleanups for 8.3 disabling 2015-02-03 20:01:24 -05:00
tree.c Fix handling of GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH flag. 2016-12-29 20:13:03 -06:00
typechange.c tests: fix memory leaks in checkout::typechange 2016-06-07 12:29:16 +02:00