Re: [PATCH 1/5] t1092: test merge conflicts outside cone
From: Derrick Stolee <hidden>
Date: 2021-07-26 14:10:29
On 7/23/2021 1:34 PM, Elijah Newren wrote:
On Wed, Jul 21, 2021 at 2:07 PM Derrick Stolee via GitGitGadget [off-list ref] wrote:quoted
From: Derrick Stolee <redacted>
...
quoted
+ # 3. rename the file to another sparse filenameBut...that doesn't resolve the conflict. Shouldn't this be titled "accept the conflict & rename the file elsewhere"?
Sure. I'm less focused on the content of the file and more the steps the user might have taken to resolve the conflict.
quoted
+ run_on_all mv folder2/a folder2/z && + test_all_match git add folder2 &&'mv' rather than 'git mv', then followed by 'git add'? Any reason for this order rather than git add followed by git mv?
I'm trying to mimic that a user might realize that a filename might need to be renamed (say, because a naming convention changed that is causing the conflict) and I don't expect users to use 'git mv' to do this action.
Also, if you really do want to move first, did you use mv instead of "git mv" due to the latter's shortcoming of only operating on stage 0? (https://lore.kernel.org/git/CABPp-BGJdwpwhQUp4Wa4bKBp4hQFB9OM3N1FXH7SzY0mvLDa7Q@mail.gmail.com/ (local))
'git mv' had not occurred to me as a thing to do in this case. I'm focused on ensuring that 'git add' works as expected to update the index in response to filesystem changes.
Regardless of order, though, I still think mv or add should require a --force to rename or add a file outside the sparsity paths given the deferred negative surprises for users around such files. (Or come up with a solid way to remove those surprises.)
--force is focused on _ignored_ files. I imagine that it could be repurposed to allow entries outside of the sparse-checkout definition, but we would want to be careful for users who are adding the entire directory, not just the individual files, as they might _also_ get any ignored files that exist in that directory. That might justify creating a new option instead. Further, the error message reported when adding something outside of the sparse cone should probably mention whatever option exists as a way for users to bypass this limitation. I'll collect my thoughts (in response to your detailed thoughts shared on my cover letter) and start a new thread about hardening this behavior. I've got an internal ticket tracking this, and I want to wrap my head around all of the interesting commands (add, mv, rm, update-index?) and create a full recommendation to bring as an RFC. Of course, if someone else wants to create this clear vision in the meantime I will not complain. Thanks, -Stolee