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