From 2aa839614e9d4f8b84803fb4ce633d6a0981675f Mon Sep 17 00:00:00 2001 From: Fredrik Kuivinen Date: Tue, 16 May 2006 07:58:15 +0200 Subject: [PATCH 1/2] Update the documentation for git-merge-base Signed-off-by: Fredrik Kuivinen Signed-off-by: Junio C Hamano --- Documentation/git-merge-base.txt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt index d1d56f194a..6099be2add 100644 --- a/Documentation/git-merge-base.txt +++ b/Documentation/git-merge-base.txt @@ -8,16 +8,26 @@ git-merge-base - Finds as good a common ancestor as possible for a merge SYNOPSIS -------- -'git-merge-base' +'git-merge-base' [--all] DESCRIPTION ----------- -"git-merge-base" finds as good a common ancestor as possible. Given a -selection of equally good common ancestors it should not be relied on -to decide in any particular way. + +"git-merge-base" finds as good a common ancestor as possible between +the two commits. That is, given two commits A and B 'git-merge-base A +B' will output a commit which is reachable from both A and B through +the parent relationship. + +Given a selection of equally good common ancestors it should not be +relied on to decide in any particular way. The "git-merge-base" algorithm is still in flux - use the source... +OPTIONS +------- +--all:: + Output all common ancestors for the two commits instead of + just one. Author ------ From c82a22c39cbc32576f64f5c6b3f24b99ea8149c7 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 16 May 2006 17:18:22 -0700 Subject: [PATCH 2/2] merge-base: Clarify the comments on post processing. The comment fooled myself believing that we still had an unsolved horizon effect. Signed-off-by: Junio C Hamano --- merge-base.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/merge-base.c b/merge-base.c index f0dc06ef55..4856ca01c3 100644 --- a/merge-base.c +++ b/merge-base.c @@ -82,8 +82,9 @@ static struct commit *interesting(struct commit_list *list) * commit B. * * - * Another pathological example how this thing can fail to mark an ancestor - * of a merge base as UNINTERESTING without the postprocessing phase. + * Another pathological example how this thing used to fail to mark an + * ancestor of a merge base as UNINTERESTING before we introduced the + * postprocessing phase (mark_reachable_commits). * * 2 * H @@ -118,7 +119,9 @@ static struct commit *interesting(struct commit_list *list) * D7 2 3 7 7 3 2 1 2 * E7 2 3 7 7 7 2 1 2 * - * and we end up showing E as an interesting merge base. + * and we ended up showing E as an interesting merge base. + * The postprocessing phase re-injects C and continues traversal + * to contaminate D and E. */ static int show_all = 0;