sha1_loose_object_info: handle errors from unpack_sha1_rest
[git] / builtin / credential.c
1 #include "git-compat-util.h"
2 #include "credential.h"
3 #include "builtin.h"
4
5 static const char usage_msg[] =
6         "git credential [fill|approve|reject]";
7
8 int cmd_credential(int argc, const char **argv, const char *prefix)
9 {
10         const char *op;
11         struct credential c = CREDENTIAL_INIT;
12
13         if (argc != 2 || !strcmp(argv[1], "-h"))
14                 usage(usage_msg);
15         op = argv[1];
16
17         if (credential_read(&c, stdin) < 0)
18                 die("unable to read credential from stdin");
19
20         if (!strcmp(op, "fill")) {
21                 credential_fill(&c);
22                 credential_write(&c, stdout);
23         } else if (!strcmp(op, "approve")) {
24                 credential_approve(&c);
25         } else if (!strcmp(op, "reject")) {
26                 credential_reject(&c);
27         } else {
28                 usage(usage_msg);
29         }
30         return 0;
31 }