On Tue, Mar 12, 2019 at 12:03 AM Phillip Wood <phillip.wood123@xxxxxxxxx> wrote: > > Hi Duy > > On 11/03/2019 11:47, Duy Nguyen wrote: > > On Mon, Mar 11, 2019 at 6:16 PM Phillip Wood <phillip.wood123@xxxxxxxxx> wrote: > >> > >> > >> Hi Duy > >> > >> On 08/03/2019 09:57, Nguyễn Thái Ngọc Duy wrote: > >>> "git checkout" doing too many things is a source of confusion for many > >>> users (and it even bites old timers sometimes). To remedy that, the > >>> command will be split into two new ones: switch and > >>> something-to-checkout-paths. > >> > >> I think this is a good idea, thanks for working on it. I wonder if it > >> would be a good idea to have the new command refuse to checkout a new > >> branch if there is a cherry-pick/revert/merge/rebase in progress (with > >> an option to override the check) as switching branches in the middle of > >> one of those is likely to be confusing to users (if I do it it is > >> normally because I've forgotten that I've not run 'git whatever > >> --continue'). > > > > Interesting. I think this would be a good default if we have an escape > > hatch (which could even come later). I often wander off to some other > > branch and go back. But then half the time I end up forgetting I'm in > > a middle of something and just "git rebase --quit" :P > > > > Of course with git-stash (*) and git-worktree, I guess there's little > > reason to just switch away from a something-in-progress worktree. I'll > > try to implement this in the next round, unless someone objects. > > > > (*) I hope git-stash remembers and restores "something-in-progress" > > status. Dunno. Never used it much. > > I don't think it does. For rebase it's non trivial as it needs to > remember the refs under refs/rewritten and stop gc from collecting any > of them or the original head (in theory the todo list can contain > commits that the user has added from other branches as well so they'd > also need to be protected from gc). For cherry-pick there are gc issues > as well. gc issues should be fixed anyway because gc could start any time (even manually by the user). And teaching pack-objects and friends to not delete original head and the todo list does not look so hard. #leftovers stuff? -- Duy