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