git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/5] doc: glossary: add root ref and clarify pseudorefs

From
Andy Koppe <andy.koppe@gmail.com>
Date
Nov 1, 2026, 23:18 UTC
Message-ID
<CAHWeT-aC9D0Oa0pR00rKeHNpMqfWhY5-vicASHwPRZn+J7vWaQ@mail.gmail.com>
In-Reply-To
<atsPsFnb5mrneAMb@pks.im>
On Fri, 23 Oct 2026 at 08:41, Patrick Steinhardt <ps@pks.im> wrote:
Show 26 quoted lines
> On Thu, Oct 22, 2026 at 10:28:49PM +0100, Andy Koppe wrote:
> > diff --git a/Documentation/glossary-content.adoc b/Documentation/glossary-content.adoc
> > index 52301a56dd..b2c582254b 100644
> > --- a/Documentation/glossary-content.adoc
> > +++ b/Documentation/glossary-content.adoc
> > @@ -500,9 +500,10 @@ exclude;;
> >       unusual refs.
> >
> >  [[def_pseudoref]]pseudoref::
> > -     A ref that has different semantics than normal refs. These refs can be
> > -     read via normal Git commands, but cannot be written to by commands like
> > -     linkgit:git-update-ref[1].
> > +     A name that can be used like a <<def_ref,ref>> to refer to
> > +     <<def_object,objects>>, but that is not stored in the same way as refs.
> > +     For example, pseudorefs cannot be written by linkgit:git-update-ref[1]
> > +     or listed by linkgit:git-for-each-ref[1].
>
> As Junio already mentioned, I think we should retain the information
> about different semantics.
>
> I also think that the previous guidance around how pseudorefs can be
> used is weakened, because now you only list examples of how they cannot
> be used. Previously though we explicitly specified that the only
> supported operation is reading the refs directly. So instead of giving
> examples of how they cannot be used, I think we should continue to list
> the few operations that _are_ possible.

Instead of saying that they are different, I tried to describe how they are different . But, yep, I struggled a bit with that.

In v2, I have added git-log and git-diff as examples of where pseudorefs can be used like references.

Thanks, Andy

Previous: Patrick SteinhardtNext: Andy Koppe
Message 5 of 34 in “root refs vs pseudorefs”
  1. 0/5 root refs vs pseudorefsAndy Koppe, Oct 22, 2026
  2. 1/5 doc: glossary: add root ref and clarify pseudorefsAndy Koppe, Oct 22, 2026
  3. Junio C HamanoOct 22, 2026
  4. Patrick SteinhardtOct 23, 2026
  5. Andy KoppeNov 1, 2026
  6. 2/5 doc: glossary: update per-worktree refsAndy Koppe, Oct 22, 2026
  7. Patrick SteinhardtOct 23, 2026
  8. Andy KoppeNov 1, 2026
  9. 3/5 doc: stop calling root refs pseudorefsAndy Koppe, Oct 22, 2026
  10. Patrick SteinhardtOct 23, 2026
  11. Andy KoppeNov 1, 2026
  12. 4/5 refs: stop calling root refs pseudorefsAndy Koppe, Oct 22, 2026
  13. Patrick SteinhardtOct 23, 2026
  14. Andy KoppeNov 1, 2026
  15. 5/5 t: stop calling root refs pseudorefsAndy Koppe, Oct 22, 2026
  16. Junio C HamanoOct 22, 2026
  17. Julia EvansOct 23, 2026
  18. Andy KoppeNov 1, 2026
  19. 0/5 root refs vs pseudorefsAndy Koppe, Nov 1, 2026
  20. Julia EvansNov 2, 2026
  21. Andy KoppeNov 2, 2026
  22. Julia EvansNov 2, 2026
  23. Andy KoppeNov 2, 2026
  24. Julia EvansNov 3, 2026
  25. Junio C HamanoNov 2, 2026
  26. 1/5 doc: glossary: add root ref and clarify pseudorefsAndy Koppe, Nov 1, 2026
  27. Patrick SteinhardtNov 3, 2026
  28. Junio C HamanoNov 3, 2026
  29. 2/5 doc: glossary: update per-worktree refsAndy Koppe, Nov 1, 2026
  30. Patrick SteinhardtNov 3, 2026
  31. 3/5 doc: stop calling root refs pseudorefsAndy Koppe, Nov 1, 2026
  32. Patrick SteinhardtNov 3, 2026
  33. 4/5 refs: stop calling root refs pseudorefsAndy Koppe, Nov 1, 2026
  34. 5/5 t: stop calling root refs pseudorefsAndy Koppe, Nov 1, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.