On Fri, Mar 24, 2017 at 12:10:49PM +0100, Ævar Arnfjörð Bjarmason wrote: > Actually this is a bit confusing, but I think reversing the arguments > makes sense, i.e.: > > git branch -c dest [src] > > And similarly: > > git checkout -c dest [<src>] > > This is confusing in that it reverses the arguments, but more useful > in that it allows you to omit src like the other invocations of these > commands, and you can e.g. do: > > git branch -c avar/topic-2 > > While on avar/topic to start working on avar/topic-2, which would copy > avar/topic's state & config. > > I'll put this on my TODO list, but unless someone comes up with a > compelling argument against the above I plan to make the interface > look like that. I think it probably should match "git branch -m", which uses: git branch -c [<oldbranch>] <newbranch> That's the closest operation we currently have, and it still allows omitting the src. It _is_ different than: git branch <branchname> [<start-point>] I wondered if you could advertise "-c" not as a new "copy mode", but rather as an option for normal branch creation. Sort of a "by the way, copy the config". But I don't think that's a great mental model. <start-point> doesn't have to be a branch at all. -Peff