Kaartic Sivaraam <kaartic.sivaraam@xxxxxxxxx> writes: > With the `--branch` option, the command takes a name and checks if > -it can be used as a valid branch name (e.g. when creating a new > -branch). The rule `git check-ref-format --branch $name` implements > -may be stricter than what `git check-ref-format refs/heads/$name` > -says (e.g. a dash may appear at the beginning of a ref component, > -but it is explicitly forbidden at the beginning of a branch name). > -When run with `--branch` option in a repository, the input is first > -expanded for the ``previous branch syntax'' > -`@{-n}`. For example, `@{-1}` is a way to refer the last branch you > -were on. This option should be used by porcelains to accept this > -syntax anywhere a branch name is expected, so they can act as if you > -typed the branch name. > +it can be used as a valid branch name e.g. when creating a new branch > +(but be cautious when using the previous checkout syntax; it may refer > +to a detached HEAD state). The rule `git check-ref-format --branch > +$name` implements may be stricter than what `git check-ref-format > +refs/heads/$name` says (e.g. a dash may appear at the beginning of a > +ref component, but it is explicitly forbidden at the beginning of a > +branch name). When run with `--branch` option in a repository, the > +input is first expanded for the ``previous checkout syntax'' > +`@{-n}`. For example, `@{-1}` is a way to refer the last thing that > +was checked out using "git checkout" operation. This option should be > +used by porcelains to accept this syntax anywhere a branch name is > +expected, so they can act as if you typed the branch name. As an > +exception note that, the ``previous checkout operation'' might result > +in a commit object name when the N-th last thing checked out was not > +a branch. Looks alright. It was made unnecessarily harder to review because it was marked as 2/2, even though this no longer applies on top of the copy of 1/2 that was merged some time ago. I needed to find that it was rebased on top of 'master'; it wouldn't have been necessary if this was sent as a single patch (with comment saying that this used to be 2/2 whose first one already graduated to 'master' under the three-dash line). Also re-wrapping the lines only to squeeze in "but be cautious..." and replace s/branch/checkout/ in a few places did not help to make it easy to spot what's changed. This part looked a bit strange. > +it can be used as a valid branch name e.g. when creating a new branch > +(but be cautious when using the previous checkout syntax; it may refer > +to a detached HEAD state). The rule `git check-ref-format --branch I think "e.g. when creating a new branch" is a parenthetical remark, so it should be inside parenthesis. As the last three lines in the new text (quoted above) already warns that it may not be a branch name, I am not sure if the "but be cautious" adds much value, though.