mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-19 04:38:00 +00:00
Merge pull request #2539 from libgit2/cmn/ahead-behind-order
Fix ahead-behind results
This commit is contained in:
commit
d99c8ca178
@ -124,9 +124,9 @@ static int ahead_behind(git_commit_list_node *one, git_commit_list_node *two,
|
||||
(commit->flags & (PARENT1 | PARENT2)) == (PARENT1 | PARENT2))
|
||||
continue;
|
||||
else if (commit->flags & PARENT1)
|
||||
(*behind)++;
|
||||
else if (commit->flags & PARENT2)
|
||||
(*ahead)++;
|
||||
else if (commit->flags & PARENT2)
|
||||
(*behind)++;
|
||||
|
||||
for (i = 0; i < commit->out_degree; i++) {
|
||||
git_commit_list_node *p = commit->parents[i];
|
||||
|
@ -33,12 +33,12 @@ void test_revwalk_mergebase__single1(void)
|
||||
cl_assert_equal_oid(&expected, &result);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo, &one, &two));
|
||||
cl_assert_equal_sz(ahead, 2);
|
||||
cl_assert_equal_sz(behind, 1);
|
||||
cl_assert_equal_sz(ahead, 1);
|
||||
cl_assert_equal_sz(behind, 2);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo, &two, &one));
|
||||
cl_assert_equal_sz(ahead, 1);
|
||||
cl_assert_equal_sz(behind, 2);
|
||||
cl_assert_equal_sz(ahead, 2);
|
||||
cl_assert_equal_sz(behind, 1);
|
||||
}
|
||||
|
||||
void test_revwalk_mergebase__single2(void)
|
||||
@ -54,12 +54,12 @@ void test_revwalk_mergebase__single2(void)
|
||||
cl_assert_equal_oid(&expected, &result);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind( &ahead, &behind, _repo, &one, &two));
|
||||
cl_assert_equal_sz(ahead, 4);
|
||||
cl_assert_equal_sz(behind, 1);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind( &ahead, &behind, _repo, &two, &one));
|
||||
cl_assert_equal_sz(ahead, 1);
|
||||
cl_assert_equal_sz(behind, 4);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind( &ahead, &behind, _repo, &two, &one));
|
||||
cl_assert_equal_sz(ahead, 4);
|
||||
cl_assert_equal_sz(behind, 1);
|
||||
}
|
||||
|
||||
void test_revwalk_mergebase__merged_branch(void)
|
||||
@ -78,12 +78,12 @@ void test_revwalk_mergebase__merged_branch(void)
|
||||
cl_assert_equal_oid(&expected, &result);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo, &one, &two));
|
||||
cl_assert_equal_sz(ahead, 0);
|
||||
cl_assert_equal_sz(behind, 3);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo, &two, &one));
|
||||
cl_assert_equal_sz(ahead, 3);
|
||||
cl_assert_equal_sz(behind, 0);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo, &two, &one));
|
||||
cl_assert_equal_sz(ahead, 0);
|
||||
cl_assert_equal_sz(behind, 3);
|
||||
}
|
||||
|
||||
void test_revwalk_mergebase__two_way_merge(void)
|
||||
@ -95,13 +95,13 @@ void test_revwalk_mergebase__two_way_merge(void)
|
||||
cl_git_pass(git_oid_fromstr(&two, "a953a018c5b10b20c86e69fef55ebc8ad4c5a417"));
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo2, &one, &two));
|
||||
|
||||
cl_assert_equal_sz(ahead, 2);
|
||||
cl_assert_equal_sz(behind, 8);
|
||||
cl_assert_equal_sz(ahead, 8);
|
||||
cl_assert_equal_sz(behind, 2);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo2, &two, &one));
|
||||
|
||||
cl_assert_equal_sz(ahead, 8);
|
||||
cl_assert_equal_sz(behind, 2);
|
||||
cl_assert_equal_sz(ahead, 2);
|
||||
cl_assert_equal_sz(behind, 8);
|
||||
}
|
||||
|
||||
void test_revwalk_mergebase__no_common_ancestor_returns_ENOTFOUND(void)
|
||||
@ -119,8 +119,8 @@ void test_revwalk_mergebase__no_common_ancestor_returns_ENOTFOUND(void)
|
||||
cl_assert_equal_i(GIT_ENOTFOUND, error);
|
||||
|
||||
cl_git_pass(git_graph_ahead_behind(&ahead, &behind, _repo, &one, &two));
|
||||
cl_assert_equal_sz(2, ahead);
|
||||
cl_assert_equal_sz(4, behind);
|
||||
cl_assert_equal_sz(4, ahead);
|
||||
cl_assert_equal_sz(2, behind);
|
||||
}
|
||||
|
||||
void test_revwalk_mergebase__prefer_youngest_merge_base(void)
|
||||
|
Loading…
Reference in New Issue
Block a user