credential.c 695 B

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