Commit 33a59401 by Carlos Martín Nieto

graph: make the ahead-behind docs clearer

Explain it in local-upstream branch terms so it's easier to grasp than
with the `one` and `two` naming from the merge-base code.
parent 7dbf4039
...@@ -23,13 +23,18 @@ GIT_BEGIN_DECL ...@@ -23,13 +23,18 @@ GIT_BEGIN_DECL
/** /**
* Count the number of unique commits between two commit objects * Count the number of unique commits between two commit objects
* *
* @param ahead number of commits, starting at `one`, unique from commits in `two` * There is no need for branches containing the commits to have any
* @param behind number of commits, starting at `two`, unique from commits in `one` * upstream relationship, but it helps to think of one as a branch and
* the other as its upstream, the `ahead` and `behind` values will be
* what git would report for the branches.
*
* @param ahead number of unique from commits in `upstream`
* @param behind number of unique from commits in `local`
* @param repo the repository where the commits exist * @param repo the repository where the commits exist
* @param one one of the commits * @param local the commit for local
* @param two the other commit * @param upstream the commit for upstream
*/ */
GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *one, const git_oid *two); GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream);
/** @} */ /** @} */
GIT_END_DECL GIT_END_DECL
......
...@@ -147,25 +147,25 @@ on_error: ...@@ -147,25 +147,25 @@ on_error:
} }
int git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, int git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo,
const git_oid *one, const git_oid *two) const git_oid *local, const git_oid *upstream)
{ {
git_revwalk *walk; git_revwalk *walk;
git_commit_list_node *commit1, *commit2; git_commit_list_node *commit_u, *commit_l;
if (git_revwalk_new(&walk, repo) < 0) if (git_revwalk_new(&walk, repo) < 0)
return -1; return -1;
commit2 = git_revwalk__commit_lookup(walk, two); commit_u = git_revwalk__commit_lookup(walk, upstream);
if (commit2 == NULL) if (commit_u == NULL)
goto on_error; goto on_error;
commit1 = git_revwalk__commit_lookup(walk, one); commit_l = git_revwalk__commit_lookup(walk, local);
if (commit1 == NULL) if (commit_l == NULL)
goto on_error; goto on_error;
if (mark_parents(walk, commit1, commit2) < 0) if (mark_parents(walk, commit_l, commit_u) < 0)
goto on_error; goto on_error;
if (ahead_behind(commit1, commit2, ahead, behind) < 0) if (ahead_behind(commit_l, commit_u, ahead, behind) < 0)
goto on_error; goto on_error;
git_revwalk_free(walk); git_revwalk_free(walk);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment