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

[PATCH 1/6] Documentation for joining more than two histories

From
Junio C Hamano <gitster@pobox.com>
Date
May 22, 2008, 01:16 UTC
Message-ID
<1211419009-9741-2-git-send-email-gitster@pobox.com>
In-Reply-To
<1211419009-9741-1-git-send-email-gitster@pobox.com>
From: Sverre Hvammen Johansen <hvammen@gmail.com>

Added some documentation for how git-merge currently works when more than two histories are joined.

Signed-off-by: Sverre Hvammen Johansen <hvammen@gmail.com>
---
 Documentation/git-merge.txt |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index ef1f055..5924c1a 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -151,6 +151,42 @@ After seeing a conflict, you can do two things:
    should be, and run `git-commit` to commit the result.
 
 
+JOINING MORE THAN TWO HISTORIES
+-------------------------------
+
+More than one remote may be specified on the command line.  Those
+remotes are used for selecting the merge startegy and is also used in
+the merge commit message.  However, some of these remotes may not be
+independent.  Only remotes with independent heads (reduced parents)
+will be recorded in the merge commit object.
+
+The following shows master and two topic branches.  topicB is based
+on topicA, topicA is previously branched off from master:
+
+------------
+		    o---o---o  topicB
+		   /
+	  o---o---o  topicA
+	 /
+    o---o---o---o---o---o---o  master
+
+------------
+
+Merging topicA and topicB to the master branch will select the merge
+strategy based on all three branches (an Octopus).  master and topicB
+are the reduced parents and are therefore the only parents recorded in
+the merge commit object:
+
+------------
+
+		    o---o---o  topicB
+		   /         \
+	  o---o---o  topicA   o  master
+	 /                   /
+    o---o---o---o---o---o---o
+
+------------
+
 SEE ALSO
 --------
 linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1],
-- 
1.5.5.1.499.g878b8
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 9 in “Forwarding Sverre's "merge --ff=<allow,only,never>" series”
  1. 0/6 Forwarding Sverre's "merge --ff=<allow,only,never>" seriesJunio C Hamano, May 22, 2008
  2. 1/6 Documentation for joining more than two historiesJunio C Hamano, May 22, 2008
  3. 2/6 New merge testsJunio C Hamano, May 22, 2008
  4. 3/6 Introduce -ff=<fast forward option>Junio C Hamano, May 22, 2008
  5. 4/6 Restructure git-merge.shJunio C Hamano, May 22, 2008
  6. 5/6 Head reduction before selecting merge strategyJunio C Hamano, May 22, 2008
  7. 6/6 Introduce fast forward option onlyJunio C Hamano, May 22, 2008
  8. Johannes SchindelinMay 22, 2008
  9. Johannes SchindelinMay 22, 2008

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.