Method: Rugged::Repository#ahead_behind
- Defined in:
- ext/rugged/rugged_repo.c
#ahead_behind(local, upstream) ⇒ Array
Returns a 2 element Array containing the number of commits that the upstream object is ahead and behind the local object.
local
and upstream
can either be strings containing SHA1 OIDs or Rugged::Object instances.
1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 |
# File 'ext/rugged/rugged_repo.c', line 1963
static VALUE rb_git_repo_ahead_behind(VALUE self, VALUE rb_local, VALUE rb_upstream) {
git_repository *repo;
int error;
git_oid local, upstream;
size_t ahead, behind;
VALUE rb_result;
Data_Get_Struct(self, git_repository, repo);
error = rugged_oid_get(&local, repo, rb_local);
rugged_exception_check(error);
error = rugged_oid_get(&upstream, repo, rb_upstream);
rugged_exception_check(error);
error = git_graph_ahead_behind(&ahead, &behind, repo, &local, &upstream);
rugged_exception_check(error);
rb_result = rb_ary_new2(2);
rb_ary_push(rb_result, INT2FIX((int) ahead));
rb_ary_push(rb_result, INT2FIX((int) behind));
return rb_result;
}
|