Re: [PATCH 2/2] checkout: introduce "--to-branch" option
From: Junio C Hamano <hidden>
Date: 2021-12-12 18:46:30
ZheNing Hu [off-list ref] writes:
quoted
It is unclear if you mean "dev1" exactly point at the commit tagged as v1.1, or you want the branch "dev1" that is a descedanant of v1.1. Without telling that to the reader, the above explanation is useless.I meant the former.quoted
And whether you meant the former or the latter, neither use case does not make much sense. ... So, "--to-branch v1.1" that finds and checks out a branch whose tip exactly points at v1.1 would be pretty useless.... "git branch --contains v1.1" can find all branches whose history contains the commit tagged as v1.1. So what if "git checkout --contains v1.1"?
I already said, whether you meant "the only branch that points exactly at" or "the only branch that contains", the feature does not make sense. Forcing users to keep only a single branch that either points at a given tag is simply impossible and also useless. Once the branch gains even a single commit, it will no loger be pointing at the tag, so "let's prepare a branch pointing at v1.1 just in case when I want to start working from there" would not be a good workflow to begin with. Forcing users to keep only a single branch that contains a given tag would encourage even a worse workflow to throw in unrelated things, whose only commonality is that they all want to fork from a single tag, into a single branch. IOW, there is nothing we want to add to "git checkout/switch" for this topic. "git checkout --contains $tag" smells like a solution looking for a problem.