Files
git/Documentation
Ben Peart fa655d8411 checkout: optimize "git checkout -b <new_branch>"
Skip merging the commit, updating the index and working directory if and
only if we are creating a new branch via "git checkout -b <new_branch>."
Any other checkout options will still go through the former code path.

If sparse_checkout is on, require the user to manually opt in to this
optimzed behavior by setting the config setting checkout.optimizeNewBranch
to true as we will no longer update the skip-worktree bit in the index, nor
add/remove files in the working directory to reflect the current sparse
checkout settings.

For comparison, running "git checkout -b <new_branch>" on a large repo takes:

14.6 seconds - without this patch
0.3 seconds - with this patch

Signed-off-by: Ben Peart <Ben.Peart@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-08-16 11:54:57 -07:00
..
2018-07-24 14:59:55 -07:00
2018-06-25 13:22:36 -07:00
2018-06-22 13:19:33 -07:00
2018-05-23 14:38:22 +09:00
2018-05-23 14:38:22 +09:00
2018-06-18 10:18:41 -07:00
2016-08-11 14:35:42 -07:00
2017-06-27 10:35:49 -07:00
2018-06-01 15:06:37 +09:00
2018-04-18 12:49:26 +09:00