On May 5, 2021 10:18 AM, Johannes Schindelin wrote: >On Tue, 4 May 2021, Elijah Newren wrote: >> On Tue, May 4, 2021 at 3:36 AM Gábor Farkas <gabor.farkas@xxxxxxxxx> >wrote: >> > >> > the "git switch" and "git restore" commands were released two years >> > ago, but the manpage still says "THIS COMMAND IS EXPERIMENTAL. THE >> > BEHAVIOR MAY CHANGE.". >> > >> > i'd love to use them, but this warning gives me pause, perhaps i >> > should wait until it stops being experimental, i worry that it might >> > change in behavior unexpectedly and cause problems for me. >> > >> > considering that they were released two years ago, could the >> > experimental-warning be removed now? >> >> This probably makes sense. The author of switch and restore isn't >> involved in the git project anymore. He decided to work on other >> things, which was and is a big loss for us. I think others (myself >> included) didn't know all the things that might have been in Duy's >> head that he wanted to verify were working well before marking this as >> good, but these two commands have generally been very well received >> and it has been a few years. Personally, I'm not aware of anything >> that we'd need or want to change with these commands. > >I think that part of the intention to mark this as experimental was to gather >feedback about the commands. After all, the goal was to improve the user >experience of Git (because `git checkout` does too many things, and its major >accomplishment is to confuse literally every single new Git user). > >However, that hope never was fulfilled if I may say so, we simply did not attract >the best-suited experts to this mailing list, not if what we set out was to improve >usability. > >Which leaves us with two hard choices regarding switch/restore, none of them >really being comfortable: > >- we scrap switch/restore because their usability is not really all that > improved relative to `git checkout`. Please do not do that. Switch/restore is much easier to understand for new users. The semantics are also more consistent with what others have done with git over the years anyway (EGit as an example). I have users who have transitioned because the commands make sense. They have not hit any missing bits in their workflows. >- we leave switch/restore as-are (because by now, changing the options or > the design would be almost certainly disruptive to users who already > tried to adopt the new commands, I being one of those users). I think we should work on the commands to cover between them (well... and reset) to functionally cover what checkout does. Leaving them as-is, I think is not a viable option. People do know these are experimental and not to use in scripts - we can hope anyway. >I say that neither of them is a really splendid choice because the original goal is >not only not accomplished, but I would say it is even harder now than it was >when we accepted switch/restore into an official release, because of that >experience with switch/restore. We simply do not have the right expertise on >this list, and therefore anything we do will always have that "UX designed by an >engineer" feel. My thoughts anyway. -Randall