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

[PATCH 1/1] doc: Glossary, describe Flattening

From
Philip Oakley <philipoakley@iee.email>
Date
May 13, 2023, 16:56 UTC
Message-ID
<20230513165657.812-1-philipoakley@iee.email>
In-Reply-To
<xmqq5ybug8s8.fsf@gitster.g>

Clarify the term 'flatten' and the unexpected effects that the user may come across, such as discussed in [1] and [2].

[1] https://lore.kernel.org/git/xmqqr0ukggk5.fsf@gitster.g/
[2] https://lore.kernel.org/git/xmqq5ybug8s8.fsf@gitster.g/
Signed-off-by: Philip Oakley <philipoakley@iee.email>
---
 Documentation/glossary-content.txt | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index 5a537268e2..36125e503c 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -173,6 +173,19 @@ current branch integrates with) obviously do not work, as there is no
 	missing from the local <<def_object_database,object database>>,
 	and to get them, too.  See also linkgit:git-fetch[1].
 
+[[def_flatten]]flatten::
+	Flattening is a common term for the 'linearizing' of a
+	selected portion of the <<def_commit_graph_general,commit graph>>.
+	Flattening may include excluding commits, or rearranging commits,
+	for the linearized sequence.
+	In particular, linkgit:git-log[1] and linkgit:git-show[1] have a
+	range of "History Simplification" techniques that affect which
+	commits are included, and how they are linearized.
+	The default linkgit:git-rebase[1] will drop merge commits when it
+	flattens history, which also may be unexpected.
+	The two common linearization types are chronological (date-time), and
+	topological (shape) based orderings. Generation numbering is topological.
+
 [[def_file_system]]file system::
 	Linus Torvalds originally designed Git to be a user space file system,
 	i.e. the infrastructure to hold files and directories. That ensured the
-- 
2.40.0.windows.1
Previous: Philip OakleyNext: Junio C Hamano
Message 12 of 16 in “rebase: add a --rebase-merges=drop option”
  1. 1/2 rebase: add a --rebase-merges=drop optionAlex Henrie, Feb 20, 2023
  2. 2/2 rebase: add a config option for --rebase-mergesAlex Henrie, Feb 20, 2023
  3. Phillip WoodFeb 20, 2023
  4. Alex HenrieFeb 20, 2023
  5. Elijah NewrenFeb 20, 2023
  6. Phillip WoodFeb 20, 2023
  7. Alex HenrieFeb 20, 2023
  8. Junio C HamanoFeb 20, 2023
  9. Philip OakleyFeb 21, 2023
  10. Junio C HamanoFeb 21, 2023
  11. 0/1 cover-letter: flattenPhilip Oakley, May 13, 2023
  12. 1/1 doc: Glossary, describe FlatteningPhilip Oakley, May 13, 2023
  13. Junio C HamanoMay 15, 2023
  14. Philip OakleyMay 27, 2023
  15. Kristoffer HaugsbakkMay 19, 2023
  16. Philip OakleyMay 27, 2023

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.