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

[PATCH v3 2/4] glossary: add "commit graph" description

From
Philip Oakley <philipoakley@iee.email>
Date
Oct 29, 2022, 16:41 UTC
Message-ID
<20221029164112.2097-3-philipoakley@iee.email>
In-Reply-To
<20221029164112.2097-1-philipoakley@iee.email>

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>
---
 Documentation/glossary-content.txt | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index 947ac49606..a526710278 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -20,7 +20,7 @@
 [[def_branch]]branch::
 	A "branch" is a line of development.  The most recent
 	<<def_commit,commit>> on a branch is referred to as the tip of
-	that branch.  The tip of the branch is referenced by a branch
+	that branch.  The tip of the branch is <<def_ref,referenced>> by a branch
 	<<def_head,head>>, which moves forward as additional development
 	is done on the branch.  A single Git
 	<<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
 state of the <<def_index,index>> and advancing <<def_HEAD,HEAD>>
 to point at the new commit.
 
+[[def_commit_graph_general]]commit graph concept, representations and usage::
+	A synonym for the <<def_DAG,DAG>> structure formed by the commits
+	in the object database, <<def_ref,referenced>> by branch tips,
+	using their <<def_chain,chain>> of linked commits.
+	This structure is the definitive commit graph. The
+	graph can be represented in other ways, e.g. the
+	<<def_commit_graph_file,"commit-graph" file>>.
+
+[[def_commit_graph_file]]commit-graph file::
+	The "commit-graph" (normally hyphenated) file is a supplemental
+	representation of the <<def_commit_graph_general,commit graph>>
+	which accelerates commit graph walks. The "commit-graph" file is
+	stored either in the .git/objects/info directory or in the info
+	directory of an alternate object database.
+
 [[def_commit_object]]commit object::
 	An <<def_object,object>> which contains the information about a
 	particular <<def_revision,revision>>, such as <<def_parent,parents>>, committer,
-- 
2.38.1.windows.1
Previous: Philip OakleyNext: Philip Oakley
Message 40 of 45 in “Add some Glossary terms, and extra renormalize information.”
  1. 0/4 Add some Glossary terms, and extra renormalize information.Philip Oakley via GitGitGadget, Jul 9, 2022
  2. 1/4 glossary: add Object DataBase (ODB) abbreviationPhilip Oakley via GitGitGadget, Jul 9, 2022
  3. 2/4 glossary: add commit graph descriptionPhilip Oakley via GitGitGadget, Jul 9, 2022
  4. Junio C HamanoJul 9, 2022
  5. Philip OakleyJul 10, 2022
  6. Philip OakleyAug 30, 2022
  7. 3/4 glossary: add reachability bitmap descriptionPhilip Oakley via GitGitGadget, Jul 9, 2022
  8. 4/4 doc add: renormalize is not idempotent for CRCRLFPhilip Oakley via GitGitGadget, Jul 9, 2022
  9. Junio C HamanoJul 9, 2022
  10. Philip OakleyJul 10, 2022
  11. Junio C HamanoJul 10, 2022
  12. Philip OakleyJul 10, 2022
  13. Torsten BögershausenJul 10, 2022
  14. Philip OakleyJul 10, 2022
  15. Junio C HamanoAug 5, 2022
  16. Torsten BögershausenAug 6, 2022
  17. Philip OakleyAug 8, 2022
  18. Junio C HamanoAug 8, 2022
  19. Torsten BögershausenAug 9, 2022
  20. 0/1 .. Add extra renormalize information.Philip Oakley, Aug 10, 2022
  21. 1/1 doc add: renormalize is not idempotent for CRCRLFPhilip Oakley, Aug 10, 2022
  22. Torsten BögershausenAug 10, 2022
  23. Junio C HamanoAug 10, 2022
  24. Junio C HamanoJul 9, 2022
  25. Philip OakleyJul 10, 2022
  26. 0/3 Add some Glossary of terms informationPhilip Oakley, Oct 22, 2022
  27. 2/3 glossary: add "commit graph" descriptionPhilip Oakley, Oct 22, 2022
  28. Derrick StoleeOct 25, 2022
  29. Philip OakleyOct 29, 2022
  30. 3/3 glossary: add reachability bitmap descriptionPhilip Oakley, Oct 22, 2022
  31. Abhradeep ChakrabortyOct 24, 2022
  32. Junio C HamanoOct 24, 2022
  33. Philip OakleyOct 24, 2022
  34. Derrick StoleeOct 25, 2022
  35. Junio C HamanoOct 25, 2022
  36. Philip OakleyOct 29, 2022
  37. 1/3 doc: use 'object database' not ODB or abbreviationPhilip Oakley, Oct 22, 2022
  38. Junio C HamanoOct 23, 2022
  39. 0/4 Add some Glossary of terms informationPhilip Oakley, Oct 29, 2022
  40. 2/4 glossary: add "commit graph" descriptionPhilip Oakley, Oct 29, 2022
  41. 1/4 doc: use 'object database' not ODB or abbreviationPhilip Oakley, Oct 29, 2022
  42. 3/4 glossary: add reachability bitmap descriptionPhilip Oakley, Oct 29, 2022
  43. 4/4 doc: use "commit-graph" hyphenation consistentlyPhilip Oakley, Oct 29, 2022
  44. Taylor BlauOct 29, 2022
  45. Philip OakleyOct 29, 2022

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.