Commit 784b3abb by Ben Straub

rev-list.c example: use common utils, reorganize

parent 9d83d368
#include <stdio.h> /*
#include <string.h> * Copyright (C) the libgit2 contributors. All rights reserved.
*
* This file is part of libgit2, distributed under the GNU GPL v2 with
* a Linking Exception. For full terms see the included COPYING file.
*/
#include <git2.h> #include "common.h"
static void check_error(int error_code, const char *action) static int revwalk_parseopts(git_repository *repo, git_revwalk *walk, int nopts, char **opts);
int main (int argc, char **argv)
{ {
if (!error_code) git_repository *repo;
return; git_revwalk *walk;
git_oid oid;
char buf[41];
git_threads_init();
const git_error *error = giterr_last(); check_lg2(git_repository_open_ext(&repo, ".", 0, NULL), "opening repository", NULL);
fprintf(stderr, "Error %d %s: %s\n", -error_code, action, check_lg2(git_revwalk_new(&walk, repo), "allocating revwalk", NULL);
(error && error->message) ? error->message : "???"); check_lg2(revwalk_parseopts(repo, walk, argc-1, argv+1), "parsing options", NULL);
exit(1);
while (!git_revwalk_next(&oid, walk)) {
git_oid_fmt(buf, &oid);
buf[40] = '\0';
printf("%s\n", buf);
}
git_threads_shutdown();
return 0;
} }
static int push_commit(git_revwalk *walk, const git_oid *oid, int hide) static int push_commit(git_revwalk *walk, const git_oid *oid, int hide)
...@@ -93,27 +111,3 @@ static int revwalk_parseopts(git_repository *repo, git_revwalk *walk, int nopts, ...@@ -93,27 +111,3 @@ static int revwalk_parseopts(git_repository *repo, git_revwalk *walk, int nopts,
return 0; return 0;
} }
int main (int argc, char **argv)
{
int error;
git_repository *repo;
git_revwalk *walk;
git_oid oid;
char buf[41];
error = git_repository_open_ext(&repo, ".", 0, NULL);
check_error(error, "opening repository");
error = git_revwalk_new(&walk, repo);
check_error(error, "allocating revwalk");
error = revwalk_parseopts(repo, walk, argc-1, argv+1);
check_error(error, "parsing options");
while (!git_revwalk_next(&oid, walk)) {
git_oid_fmt(buf, &oid);
buf[40] = '\0';
printf("%s\n", buf);
}
return 0;
}
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