Hello Junio, On 2/19/24 21:52, Junio C Hamano wrote:
You are however right that this will confuse the toolchain. These two commands we provide may not be affected (or we can make them not affected by changing their implementation if needed, while we add such configuration variables at the same time), but third-party tools and end-user scripts that has trusted that when they write "git stash", the command will give them a clean index and working tree will be broken big time. So, I am somewhat negative on the patch in the current form, until I see how the plan to help third-party tools and end-user scripts that rely on the promise we have given them looks like.
This is an issue I hadn't considered, and I'm not sure whether it can even be fixed. In some sense, the entire point of this patch is to allow the user to break that promise in their configuration. However, I'm not sure how big of a problem this is, as it is entirely opt-in (default behavior should be the same as current behavior), and tools can be altered to pass `--no-keep-index --no-include-untracked` if they wish to force the current behavior. Either way, I would like to address your concern if possible, and I'd appreciate any ideas on how to do so.
Thank you, Ricardo