Re: [WIP v1 0/4] mv: fix out-of-cone file/directory move logic
From: Victoria Dye <hidden>
Date: 2022-03-31 22:21:12
Shaoxuan Yuan wrote:
Before integrating 'mv' with sparse-index, I still find some possibly buggy UX when 'mv' is interacting with 'sparse-checkout'. So I kept sparse-index off in order to sort things out without a sparse index. We can proceed to integrate with sparse-index once these changes are solid. Note that this patch is tentative, and still have known glitches, but it illustrates a general approach that I intended to harmonize 'mv' with 'sparse-checkout'.
Thanks for working out some ways to make 'mv' behave more nicely with sparse checkouts! I did my best to address some of the specific implementation questions you had in your commit messages. Beyond that, my main points of feedback (beyond some formatting nits and implementation questions) are: * Patch 2 deals with sparse directories, which won't show up until you enable sparse index; since you can't test that yet, you should save the patch for your "sparse index integration" series. * Patch 4 should either be moved to the beginning of the series (with the tests flagged with 'test_expect_failure' until the patch that fixes the associated behavior), or split up with the tests associated with a change moved into the patch that makes that change. And, as always, I'm happy to answer any questions and/or clarify weird behavior you encounter while making changes to this (or subsequent) series!
Shaoxuan Yuan (4): mv: check if out-of-cone file exists in index with SKIP_WORKTREE bit mv: add check_dir_in_index() and solve general dir check issue mv: add advise_to_reapply hint for moving file into cone t7002: add tests for moving out-of-cone file/directory builtin/mv.c | 76 ++++++++++++++++++++++++++++++++--- t/t7002-mv-sparse-checkout.sh | 72 +++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+), 6 deletions(-) base-commit: 805e0a68082a217f0112db9ee86a022227a9c81b