From: Junio C Hamano Date: Sun, 18 Mar 2012 18:56:41 GMT Subject: Re: [PATCH/RFC] Add "first parent" to gitglossary Message-ID: <7vehspd9g6.fsf@alter.siamese.dyndns.org> In-Reply-To: <1331966864-31687-1-git-send-email-nkreitzinger@gmail.com> Neal Kreitzinger writes: > Add "first parent" to "gitglossary" reference manual page. Use the > definition provided by Junio Hamano in a git newsgroup post[1]. > > [1] http://article.gmane.org/gmane.comp.version-control.git/192523 As the message was written specifically for you, taking what *you* seem to already know, and more importantly what *you* seem to be misunderstanding, into account, I do not think it is suitable for general documentation without rewording. Also, as Jonathan already pointed out, singling out "first parent" and placing it in the glossary is a very odd thing to do. Also see http://thread.gmane.org/gmane.comp.version-control.git/192427/focus=192534 Three entries "parent", "child" and "ancestry" might want to have an explanation in the glossary to give new people the prerequisite, though. child:: parent:: ancestry:: Git represents a specific state of the project in its history with a commit object, which points at zero or more other commit objects as its "parents". When commit A points at commit B as its parent, we say "A is a child of B" and "B is a parent of A". + Parents of a commit is an ordered set, and because a commit object is immutable, the parents of a commit do not change once it is created. On the other hand, a new commit can be created, pointing at any other commit as its parent, so children of a commit is not a mutable set, and there is no inherent order among children.