diff options
| author | Edward Thomson <ethomson@microsoft.com> | 2014-03-20 09:35:22 -0700 |
|---|---|---|
| committer | Edward Thomson <ethomson@microsoft.com> | 2014-03-20 09:35:22 -0700 |
| commit | 58c2b1c4218a2f90ee2745687f2e17670bde0b1b (patch) | |
| tree | e00cd7afb7c5cac057e1d051f68bb690258a0a09 | |
| parent | ac584fcfd3e15b0a0200ee609bf964414936c710 (diff) | |
| download | libgit2-58c2b1c4218a2f90ee2745687f2e17670bde0b1b.tar.gz | |
UNBORN implies FAST_FORWARD
| -rw-r--r-- | include/git2/merge.h | 4 | ||||
| -rw-r--r-- | src/merge.c | 2 | ||||
| -rw-r--r-- | tests/merge/workdir/analysis.c | 3 |
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); } |
