summaryrefslogtreecommitdiff
path: root/notes-utils.h
diff options
context:
space:
mode:
authorLibravatar Elijah Newren <newren@gmail.com>2021-12-14 04:09:08 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-12-15 11:48:22 -0800
commitf2e3a218e80fc3fd357afe65c9a26b9a90a9f5f7 (patch)
tree1d20efc91ea2129bd26bdc6e703dae238abed286 /notes-utils.h
parentsparse-checkout: split out code for tweaking settings config (diff)
downloadtgif-f2e3a218e80fc3fd357afe65c9a26b9a90a9f5f7.tar.xz
sparse-checkout: enable `set` to initialize sparse-checkout mode
The previously suggested workflow: git sparse-checkout init ... git sparse-checkout set ... Suffered from three problems: 1) It would delete nearly all files in the first step, then restore them in the second. That was poor performance and forced unnecessary rebuilds. 2) The two-step process resulted in two progress bars, which was suboptimal from a UI point of view for wrappers that invoked both of these commands but only exposed a single command to their end users. 3) With cone mode, the first step would delete nearly all ignored files everywhere, because everything was considered to be outside of the specified sparsity paths. (The user was not allowed to specify any sparsity paths in the `init` step.) Avoid these problems by teaching `set` to understand the extra parameters that `init` takes and performing any necessary initialization if not already in a sparse checkout. Reviewed-by: Derrick Stolee <dstolee@microsoft.com> Reviewed-by: Victoria Dye <vdye@github.com> Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'notes-utils.h')
0 files changed, 0 insertions, 0 deletions