On 8/11/2022 3:30 PM, Ævar Arnfjörð Bjarmason wrote: > > On Fri, Aug 05 2022, Derrick Stolee wrote: > >> On 8/5/2022 10:50 AM, Ævar Arnfjörð Bjarmason wrote: >>> >>> On Fri, Aug 05 2022, Derrick Stolee wrote: >> >>>> 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