F diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore*.ovolgit+ .gdb_historyF diff --git a/makefile b/makefile --- a/makefile +++ b/makefilevolgit: volgit.o- c99 volgit.o -lgit2 -o volgit+ c99 -g volgit.o -lgit2 -o volgitvolgit.o: volgit.c- c99 -c volgit.c -o volgit.o+ c99 -g -c volgit.c -o volgit.oclean:rm -rf volgit.o volgitF diff --git a/volgit.c b/volgit.c --- a/volgit.c +++ b/volgit.c#include <stdio.h>#include <git2.h>+ void print_commits(const git_reference *branch, git_repository *repo)+ {+ const git_oid *id;+ git_revwalk *walker;+ git_oid current;++ git_revwalk_new(&walker,repo);+ id=git_reference_target(branch);+ git_revwalk_push(walker,id);++ while(!git_revwalk_next(¤t,walker))+ {+ printf("%s\n",git_oid_tostr_s(¤t));+ }+++ }int main(){+ const char *name;+git_branch_iterator *it;git_repository *repo;+ git_reference *ref;+ git_branch_t branch_type=GIT_BRANCH_LOCAL;+ git_libgit2_init();git_repository_open(&repo,".");- git_branch_iterator_new(&it,repo,GIT_BRANCH_LOCAL);+ git_branch_iterator_new(&it,repo,branch_type);+++ while(git_branch_next(&ref,&branch_type,it)==0)+ {+ git_branch_name(&name,ref);+ if(name)+ {+ printf("------- %s -------\n",name);+ print_commits(ref,repo);+ printf("------------------\n");+ }else+ {+ printf("NULL\n");+ }+ }git_repository_free(repo);git_branch_iterator_free(it);+ git_libgit2_shutdown();return 0;}