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

[PATCH] Documentation: update to git-merge-base --octopus

From
Vincent van Ravesteijn <vfr@lyx.org>
Date
Apr 12, 2011, 15:47 UTC
Message-ID
<4DA47402.4010304@lyx.org>
1) Make
it
clear
that
when
the
--octopus
parameter
is
given
to 'git
merge-base',
only a
set of
commits
is
expected as
the
parameter.
On the
other
hand,
in the
case
without
the
--octopus
parameter,
it is
necessary
to
supply
a
single
commit
and a
set.
Moreover,
in the
case of
--octopus
merging, a
single
commit
is also
valid,
which
is not
the
case
otherwise.
2) Add
a
sentence to
the
discussion
that
when
--octopus
is
used,
we do
expect
'2'
as the
result.
Signed-off-by:
Vincent
van
Ravesteijn
<vfr@lyx.org>
---
 Documentation/git-merge-base.txt |    6 +++++-
 builtin/merge-base.c             |    3 ++-
 2
files
changed, 7
insertions(+),
2
deletions(-)

diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt index eedef1b..1bac04f 100644 --- a/Documentation/git-merge-base.txt +++ b/Documentation/git-merge-base.txt

@@ -9,7
+9,8 @@
git-merge-base
- Find
as good
common
ancestors
as
possible for
a merge
 SYNOPSIS
 --------
 [verse]
-'git
merge-base'
[-a|--all]
[--octopus]
<commit> <commit>...
+'git
merge-base'
[-a|--all]
<commit> <commit>...
+'git
merge-base'
[-a|--all]
--octopus
<commit>...
 'git
merge-base'
--independent
<commit>...

 DESCRIPTION
@@
-89,6
+90,9
@@ and
the
result
of `git
merge-base
A M` is
'1'.
Commit
'2' is
also a
 common
ancestor between
'A' and
'M',
but '1'
is a
better
common
ancestor,
 because '2' is an ancestor of '1'.  Hence, '2' is not a merge base.

+When
the
option
`--octopus`
is
given,
the
result
of `git
merge-base
A B C`
+is
expected to
be '2',
since
'2' is
the
common
ancestor of
all
branches.
+
 When
the
history
involves criss-cross
merges,
there
can be
more
than
one
 'best'
common
ancestor for
two
commits.
For
example, with
this
topology:

diff
--git
a/builtin/merge-base.c
b/builtin/merge-base.c
index
96dd160..4f30f1b
100644
---
a/builtin/merge-base.c
+++
b/builtin/merge-base.c
@@
-23,7
+23,8
@@
static
int
show_merge_base(struct
commit
**rev,
int
rev_nr,
int
show_all)
 }

 static
const
char *
const
merge_base_usage[]
= {
-	"git
merge-base
[-a|--all]
[--octopus]
<commit> <commit>...",
+	"git
merge-base
[-a|--all]
<commit> <commit>...",
+	"git
merge-base
[-a|--all]
--octopus
<commit>...",
 	"git
merge-base
--independent
<commit>...",
 	NULL
 };
-- 
1.7.3.1.msysgit.0
Message 1 of 1 in “Documentation: update to git-merge-base --octopus”
  1. Documentation: update to git-merge-base --octopusVincent van Ravesteijn, Apr 12, 2011

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.