Re: [PATCH v2 06/10] log: add default decoration filter
From: Derrick Stolee <hidden>
Date: 2022-08-12 19:37:31
On 8/11/2022 3:30 PM, Ævar Arnfjörð Bjarmason wrote:
On Fri, Aug 05 2022, Derrick Stolee wrote:quoted
On 8/5/2022 10:50 AM, Ævar Arnfjörð Bjarmason wrote:quoted
On Fri, Aug 05 2022, Derrick Stolee wrote:quoted
quoted
Now that this version removed the notes ref from the decoration, the stance for inclusion is simple: If Git offers to color the namespace with color.decoration.<slot>, then Git decorates with that namespace by default.I'm a bit confused, sorry. So aside from "notes", if we have a color.decoration.<slot> applying to a ref now, it's a bug in your series if it's not showing up anymore?The possible slots are: * branch (refs/heads/) * remoteBranch (refs/remotes/) * tag (refs/tags/) * stash (refs/stash) * HEAD (HEAD) * grafted (refs/replace/ or GIT_REPLACE_REF_BASE) These are exactly the namespaces that are now shown by default in this series.No, e.g. "tag" doesn't mean "refs/tags/*", it means *a tag object*.
You are half right. It means "refs/tags/*" _or_ "a tag object". A lightweight tag is still counted based only on its ref namespace.
Try this on master: git update-ref refs/archived-tags/v2.36.0 refs/tags/v2.36.0 Then on master: ./git -P -c color.decorate.tag="bold blue" log --oneline -1 v2.36.0 6cd33dceed6 (tag: v2.36.0, gitster/yw/cmake-use-pcre2, gitgitgadget/yw/cmake-use-pcre2, tag: refs/archived-tags/v2.36.0) Git 2.36 But on "seen" currently: $ ./git -P -c color.decorate.tag="bold blue" log --oneline -1 v2.36.0 6cd33dceed6 (tag: v2.36.0, gitster/yw/cmake-use-pcre2, gitgitgadget/yw/cmake-use-pcre2) Git 2.36
You initially made me think there was a bug that was not covered by our existing test infrastructure. We may still be missing a test about this "annotated tag outside of refs/tags/*" behavior, but it is not broken with this series. The change of behavior here is that refs/archived-tags is excluded from the list of decorations. If you applied --clear-decorations to your log command, then it would appear. It would also receive the bold blue coloring (and the "tag:" prefix) since it points to an annotated tag object. I also tested non-annotated tags in the refs/tags/* space and the coloring continues to work correctly before and after this change. Thanks, -Stolee