mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-02 16:34:37 +00:00
Restructured to be nicer example
Code restructured to better represent best practice when using libgit2.
This commit is contained in:
parent
9bff15f4a4
commit
785990bead
@ -23,10 +23,8 @@ static int run_command(git_cb fn, int argc, char **argv)
|
||||
int error;
|
||||
git_repository *repo;
|
||||
|
||||
git_libgit2_init();
|
||||
|
||||
// Before running the actual command, create an instance of the local
|
||||
// repository and pass it to the function.
|
||||
// Before running the actual command, create an instance of the local
|
||||
// repository and pass it to the function.
|
||||
|
||||
error = git_repository_open(&repo, ".git");
|
||||
if (error < 0)
|
||||
@ -44,25 +42,32 @@ static int run_command(git_cb fn, int argc, char **argv)
|
||||
if(repo)
|
||||
git_repository_free(repo);
|
||||
|
||||
git_libgit2_shutdown();
|
||||
|
||||
return !!error;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
int return_code = 1;
|
||||
|
||||
if (argc < 2) {
|
||||
fprintf(stderr, "usage: %s <cmd> [repo]\n", argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
git_libgit2_init();
|
||||
|
||||
for (i = 0; commands[i].name != NULL; ++i) {
|
||||
if (!strcmp(argv[1], commands[i].name))
|
||||
return run_command(commands[i].fn, --argc, ++argv);
|
||||
if (!strcmp(argv[1], commands[i].name)) {
|
||||
return_code = run_command(commands[i].fn, --argc, ++argv);
|
||||
goto shutdown;
|
||||
}
|
||||
}
|
||||
|
||||
fprintf(stderr, "Command not found: %s\n", argv[1]);
|
||||
return 1;
|
||||
|
||||
shutdown:
|
||||
git_libgit2_shutdown();
|
||||
|
||||
return return_code;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user