sparse-checkout: use in-process update for disable subcommand
commit99dfa6f9702ee81c44ef9382933e4e391ec5d6ee
authorDerrick Stolee <dstolee@microsoft.com>
Thu, 21 Nov 2019 22:04:47 +0000 (21 22:04 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 22 Nov 2019 07:11:45 +0000 (22 16:11 +0900)
treeebd9b7b6ab450e71366c5415b9b10ad3aea906aa
parente091228e17e88b1bc16cb50d5c3aff10dc5119d1
sparse-checkout: use in-process update for disable subcommand

The 'git sparse-checkout disable' subcommand returns a user to a
full working directory. The old process for doing this required
updating the sparse-checkout file with the "/*" pattern and then
updating the working directory with core.sparseCheckout enabled.
Finally, the sparse-checkout file could be removed and the config
setting disabled.

However, it is valuable to keep a user's sparse-checkout file
intact so they can re-enable the sparse-checkout they previously
used with 'git sparse-checkout init'. This is now possible with
the in-process mechanism for updating the working directory.

Reported-by: Szeder Gábor <szeder.dev@gmail.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-sparse-checkout.txt
builtin/sparse-checkout.c
t/t1091-sparse-checkout-builtin.sh