mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-04 07:15:20 +00:00
rev-list.c example: use common utils, reorganize
This commit is contained in:
parent
9d83d368fc
commit
784b3abbd5
@ -1,17 +1,35 @@
|
||||
#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)
|
||||
return;
|
||||
git_repository *repo;
|
||||
git_revwalk *walk;
|
||||
git_oid oid;
|
||||
char buf[41];
|
||||
|
||||
const git_error *error = giterr_last();
|
||||
fprintf(stderr, "Error %d %s: %s\n", -error_code, action,
|
||||
(error && error->message) ? error->message : "???");
|
||||
exit(1);
|
||||
git_threads_init();
|
||||
|
||||
check_lg2(git_repository_open_ext(&repo, ".", 0, NULL), "opening repository", NULL);
|
||||
check_lg2(git_revwalk_new(&walk, repo), "allocating revwalk", NULL);
|
||||
check_lg2(revwalk_parseopts(repo, walk, argc-1, argv+1), "parsing options", NULL);
|
||||
|
||||
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)
|
||||
@ -93,27 +111,3 @@ static int revwalk_parseopts(git_repository *repo, git_revwalk *walk, int nopts,
|
||||
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user