git/builtin/credential.c
Matthieu Moy 2d6dc182b8 git credential fill: output the whole 'struct credential'
Instead of outputing only the username and password, print all the
attributes, even those that already appeared in the input.

This is closer to what the C API does, and allows one to take the exact
output of "git credential fill" as input to "git credential approve" or
"git credential reject".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-06-25 11:56:24 -07:00

32 lines
663 B
C

#include "git-compat-util.h"
#include "credential.h"
#include "builtin.h"
static const char usage_msg[] =
"git credential [fill|approve|reject]";
int cmd_credential(int argc, const char **argv, const char *prefix)
{
const char *op;
struct credential c = CREDENTIAL_INIT;
op = argv[1];
if (!op)
usage(usage_msg);
if (credential_read(&c, stdin) < 0)
die("unable to read credential from stdin");
if (!strcmp(op, "fill")) {
credential_fill(&c);
credential_write(&c, stdout);
} else if (!strcmp(op, "approve")) {
credential_approve(&c);
} else if (!strcmp(op, "reject")) {
credential_reject(&c);
} else {
usage(usage_msg);
}
return 0;
}