Re: [PATCH] log: decorate HEAD -> branch with the same color for branch and HEAD
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Jul 1, 2016, 14:20 UTC
- Message-ID
- <a7d7d959-1189-8170-04f4-ab097202ff45@drmicha.warpmail.net>
- In-Reply-To
- <20160701063129.GC5358@sigill.intra.peff.net>
Jeff King venit, vidit, dixit 01.07.2016 08:31:
Show 24 quoted lines
> On Thu, Jun 30, 2016 at 06:39:42PM +0200, Nguyễn Thái Ngọc Duy wrote: > >> Commit 76c61fb (log: decorate HEAD with branch name under >> --decorate=full, too - 2015-05-13) adds "HEAD -> branch" decoration to >> show current branch vs detached HEAD. The sign of whether HEAD is >> detached or not is "->" (vs ", "). It's too subtle for my poor >> eyes. If color is used, we can make the branch name's color the same >> as HEAD to visually emphasize that it's the current branch. > > Hmm. I think I like this, as it uses color to make the grouping between > HEAD and its referent more clear. > > We do already use colors to indicate "type", though. Which means: > > 1. The branch now uses the "symref" color. Probably OK, as that is the > point of the grouping (I wonder if the "->" in the middle should > match in color, too). > > 2. We used to color based on current_and_HEAD->type, but now that > information isn't conveyed. However, can this really ever have been > anything _except_ a branch? > > -Peff >
So, I rechecked, and I'm afraid I don't like the proposal.
Currently, we have a clear color code that colors refs according their type (local branch, remote branch, tag, symref). This also corresponds to status colors, for example.
Under the proposal, a checked out branch would not be colored like a local branch - note that back then, the result of the discussion was:
- If a branch foo is checked out, do not decorate by "foo", but amend the HEAD decoration with "foo" and a symbol that denotes the connection.
So, "HEAD -> foo" is an intentional union of two decorations.
I wouldn't mind changing the color of "- > foo" if it were just an addition to "HEAD", but it is not - it's the decoration by the local branch foo.
With git branch, we use "*" as a symbol for the checked out branch...
Michael