[PATCH] Documentation: update to git-merge-base --octopus
From: Vincent van Ravesteijn <hidden>
Date: 2016-06-15 22:51:01
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 [off-list ref] --- 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
@@ andthe
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