On Tue, Mar 12, 2019 at 3:51 AM Phillip Wood <phillip.wood...@gmail.com> wrote: > > then it'd make sense to use --recreate instead. But if you > > think some might adopt a workflow where they just use -C without first > > trying -c ("create this branch, and I don't care if I made it before > > just create it here"), then --force-create makes sense. > > > > Another option, possibly showing my lack of understanding why this > > flag was useful in the first place: just drop this set of flags from > > this command. People can switch to the branch and then use reset > > --hard <startpoint>, right? Or (if they don't care about the reflog, > > which they probably don't) delete the branch first and then recreate > > it? Not sure why we need to give another way to do these operations. > > (In contrast, I see -c as being used frequently enough to have merit > > even if it could be implemented as two separate commands.) > > I tend to agree with this but that's probably because I don't really use > checkout -B. I'm not sure if it's widely used or not. I do find checkout > -b convenient though.
Yeah I think both -b and -B are about convenience. Another point is multiple steps of switching and resetting could be really painful for people with large worktrees. Doing everything in one go is probably preferable because it generates less I/O. The mention of "git reset --hard" triggers me because I secretly want to replace that command ("git reset", all modes), and in the last "promotion" patch, "reset --hard" is replaced with "switch -C" three times. We get really close to replacing git-reset if we have something to say "-C <current branch>". Whether this operation fits in the "switching things" mentality, I'm still not sure. But I would not mind dropping -C for now, if people think it's not that useful. We can bring it back in incremental updates if we realize we miss it so much. I'll keep it unless somebody says something. PS. The same probably goes for --orphan too. Wait and see if people complain, then we know how they actually use it. -- Duy