Derrick Stolee <derrickstolee@xxxxxxxxxx> writes: > On 3/22/2022 4:38 AM, Shaoxuan Yuan wrote: >> Hi all, >> >> On Tue, Mar 22, 2022 at 3:45 AM Derrick Stolee <derrickstolee@xxxxxxxxxx> wrote: >>> I'm particularly surprised in how much 'git mv' doesn't work very >>> well in the sparse-checkout environment already, which makes things >>> more difficult than "just" doing the normal sparse index things. >>> >>> It's good that we are discovering them and working to fix them. >>> >>> Thanks, >>> -Stolee >> >> Really appreciate the mentoring and tips here, I'm trying to make some progress >> now. The problems facing here certainly push me to explore more and know >> better about the codebase. Appreciate all the help :-) > > A thought occurred to me while thinking about these difficulties: > perhaps it is better to start with 'git rm' since that does only > half of what 'git mv' does. It should be a smaller lift as a first > contribution. There is even a clear loop that is marked with "TODO: > audit for interaction with sparse-index." > > As we've discovered in this thread, the direction for integrating > a builtin with the sparse index should follow this outline: > > 0. Test the builtin in t1092 with interactions inside and outside > of the sparse-checkout cone.* > > 1. Add command_requires_full_index = 0 line to the builtin. > > 2. Check for failures and diagnose them. > > 3. Check for index expansion and remove them as necessary. > (Go back to 2.) > > 4. Run performance tests. > > (*) This step is the one we failed to focus enough on previously. Jonathan, I thought you had a radically different approach that ought to be much safer than the above---do you want to bring it up for discussion? > Of course, if you've already gotten really far on 'mv' and don't > want to switch context, then keep at it. > > Thanks, > -Stolee