On Tue, 2017-11-28 at 11:40 +0900, Junio C Hamano wrote: > Kaartic Sivaraam <kaartic.sivaraam@xxxxxxxxx> writes: > > > When the N-th previous thing checked out sytax is used with > > '--branch' option of check-ref-format the results might not > > always be a valid branch name > > I wonder if you want to rephrase this, because 40-hex object name is > syntactically a valid branch name. It's (1) cumbersome to type and > (2) may not be what the user expects. > You're right. Actually a previous draft of that log message did say something like, Though a commit-hash might be a valid branch name, it isn't something that's expected by the users of "check-ref-format". I removed as I thought it would be unnecessary. It seems I took the wrong decision. Will fix it. :-) > I have a mild suspicion that "git checkout -B @{-1}" would want to > error out instead of creating a valid new branch whose name is > 40-hex that happen to be the name of the commit object you were > detached at previously. > I thought this the other way round. Rather than letting the callers error out when @{-N} didn't expand to a branch name, I thought we should not be expanding @{-N} syntax for "check-ref-format --branch" at all to make a "stronger guarantee" that the result is "always" a valid branch name. Then I thought it might be too restrictive and didn't mention it. So, I dunno. > I am not sure if "check-ref-format --branch" should the same; it is > more about the syntax and the 40-hex _is_ valid there, so... I'm not sure what you were trying to say here, sorry. -- Kaartic