From: Junio C Hamano Date: Wed, 12 Nov 2025 19:16:06 GMT Subject: Re: [PATCH v6] doc: add an explanation of Git's data model Message-ID: In-Reply-To: <2474339d-67bc-4a68-9f26-fe7edd172ec4@app.fastmail.com> "Julia Evans" writes: >> Maybe its just me, but I find it a quite roundabout thing to say >> that a ref refers to an object name (or "ID" if you like), simply >> because name or ID *is* a way to refer to the thing that is assigned >> that name, so you are making a ref to refer to something ("name") >> that refers to what it ("ref") originally wanted to refer to >> ("object"). > ... > One idea I just had is "a branch is a label for a commit ID", which > I think avoids the issue with "name" from earlier. > >> That is what I find the most strange in the construction "A branch >> refers to ID" at the conceptual level. I am much less unhappy with >> "A branch records an ID", but stopping at that may make readers ask >> the obvious question "what goal does that design aim to achieve?" >> (whose answer is of course "to refer to the object that is assigned >> that ID"). >> >> "A branch refers to a commit object by recording its object name", >> "A branch records the ID of a commit it refers to", "A branch >> records the ID of the commit at the tip of its history". Any of the >> phrasing that does not make "ID" the object/target of the verb >> "refer to" would work to avoid that strange construction. Sorry, but I am having a hard time to come up with something that I can give to help somebody who rejects "record", saying that it is a new verb, and in the same message introduces "label" as a better alternative, as we haven't seen "label" used in this context, either. Besides, a label, a name, or an ID are all that are used to refer to something (in this context, "a commit object"), so I find the newly proposed one just as roundabout as "a branch refers to ID" in the same way. The use of *ID* is a low-level implementation detail to make the ref work as a label for, or make the ref refer to, an object, so "is a label for ID" is just as bad as "refers to ID". If we do not hesitate using a new word and introduce "label", "a branch works as a label for a commit object" may probably work, probably. Thanks.