summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@microsoft.com>2014-03-20 09:35:22 -0700
committerEdward Thomson <ethomson@microsoft.com>2014-03-20 09:35:22 -0700
commit58c2b1c4218a2f90ee2745687f2e17670bde0b1b (patch)
treee00cd7afb7c5cac057e1d051f68bb690258a0a09
parentac584fcfd3e15b0a0200ee609bf964414936c710 (diff)
downloadlibgit2-58c2b1c4218a2f90ee2745687f2e17670bde0b1b.tar.gz
UNBORN implies FAST_FORWARD
-rw-r--r--include/git2/merge.h4
-rw-r--r--src/merge.c2
-rw-r--r--tests/merge/workdir/analysis.c3
3 files changed, 5 insertions, 4 deletions
diff --git a/include/git2/merge.h b/include/git2/merge.h
index 491f831f8..21159d832 100644
--- a/include/git2/merge.h
+++ b/include/git2/merge.h
@@ -248,8 +248,8 @@ typedef enum {
GIT_MERGE_ANALYSIS_NORMAL = (1 << 0),
/**
- * The repository is already up-to-date and no merge needs to be
- * performed. The given merge input already exists as a parent of HEAD.
+ * All given merge inputs are reachable from HEAD, meaning the
+ * repository is up-to-date and no merge needs to be performed.
*/
GIT_MERGE_ANALYSIS_UP_TO_DATE = (1 << 1),
diff --git a/src/merge.c b/src/merge.c
index 852043cd7..1be351577 100644
--- a/src/merge.c
+++ b/src/merge.c
@@ -2531,7 +2531,7 @@ int git_merge_analysis(
*out = GIT_MERGE_ANALYSIS_NONE;
if (git_repository_head_unborn(repo)) {
- *out = GIT_MERGE_ANALYSIS_UNBORN;
+ *out = GIT_MERGE_ANALYSIS_FASTFORWARD | GIT_MERGE_ANALYSIS_UNBORN;
goto done;
}
diff --git a/tests/merge/workdir/analysis.c b/tests/merge/workdir/analysis.c
index 86b50b718..0e937857f 100644
--- a/tests/merge/workdir/analysis.c
+++ b/tests/merge/workdir/analysis.c
@@ -99,7 +99,8 @@ void test_merge_workdir_analysis__unborn(void)
p_unlink(git_buf_cstr(&master));
analysis = analysis_from_branch(NOFASTFORWARD_BRANCH);
- cl_assert_equal_i(GIT_MERGE_ANALYSIS_UNBORN, analysis);
+ cl_assert_equal_i(GIT_MERGE_ANALYSIS_FASTFORWARD, (analysis & GIT_MERGE_ANALYSIS_FASTFORWARD));
+ cl_assert_equal_i(GIT_MERGE_ANALYSIS_UNBORN, (analysis & GIT_MERGE_ANALYSIS_UNBORN));
git_buf_free(&master);
}