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

From: Vincent van Ravesteijn <[email-masked]>
Date: Tue, 12 Apr 2011 17:47:14 +0200

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
<[email-masked]>
---
 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