glossary: add "commit graph" description

Git has an additional "commit graph" capability that supplements the normal commit object's directed acyclic graph (DAG). The supplemental commit graph file is designed for speed of access. Describe the commit graph both from the normative DAG view point and from the commit graph file perspective. Also, clarify the link between the branch ref and branch tip by linking to the `ref` glossary entry, matching this commit graph entry. The commit-graph file is also distinguished by its hyphenation. Subsequent commit catches the few cases where the hyphenation of commit-graph was missing. Signed-off-by: Philip Oakley <philipoakley@iee.email> Signed-off-by: Taylor Blau <me@ttaylorr.com>

Philip Oakley committed Oct 29, 2022 at 17:41 UTC 4973726c5dfbaebdab95dab52b4c05b2a637d3fb
1 file changed +16 -1
Documentation/glossary-content.txt
+16 -1
@@ -20,7 +20,7 @@
20 [[def_branch]]branch::
21 A "branch" is a line of development. The most recent
22 <<def_commit,commit>> on a branch is referred to as the tip of
23 - that branch. The tip of the branch is referenced by a branch
23 + that branch. The tip of the branch is <<def_ref,referenced>> by a branch
24 <<def_head,head>>, which moves forward as additional development
25 is done on the branch. A single Git
26 <<def_repository,repository>> can track an arbitrary number of
@@ -75,6 +75,21 @@ state in the Git history, by creating a new commit representing the current
75 state of the <<def_index,index>> and advancing <<def_HEAD,HEAD>>
76 to point at the new commit.
77
78 +[[def_commit_graph_general]]commit graph concept, representations and usage::
79 + A synonym for the <<def_DAG,DAG>> structure formed by the commits
80 + in the object database, <<def_ref,referenced>> by branch tips,
81 + using their <<def_chain,chain>> of linked commits.
82 + This structure is the definitive commit graph. The
83 + graph can be represented in other ways, e.g. the
84 + <<def_commit_graph_file,"commit-graph" file>>.
85 +
86 +[[def_commit_graph_file]]commit-graph file::
87 + The "commit-graph" (normally hyphenated) file is a supplemental
88 + representation of the <<def_commit_graph_general,commit graph>>
89 + which accelerates commit graph walks. The "commit-graph" file is
90 + stored either in the .git/objects/info directory or in the info
91 + directory of an alternate object database.
92 +
93 [[def_commit_object]]commit object::
94 An <<def_object,object>> which contains the information about a
95 particular <<def_revision,revision>>, such as <<def_parent,parents>>, committer,