mirror of
https://github.com/git/git.git
synced 2026-04-13 18:30:08 +02:00
status: support --porcelain[=<version>]
Update --porcelain argument to take optional version parameter to allow multiple porcelain formats to be supported in the future. The token "v1" is the default value and indicates the traditional porcelain format. (The token "1" is an alias for that.) Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Johannes Schindelin
parent
caee417ad6
commit
fd9e2dee55
@@ -144,6 +144,21 @@ static struct strbuf message = STRBUF_INIT;
|
||||
|
||||
static enum wt_status_format status_format = STATUS_FORMAT_UNSPECIFIED;
|
||||
|
||||
static int opt_parse_porcelain(const struct option *opt, const char *arg, int unset)
|
||||
{
|
||||
enum wt_status_format *value = (enum wt_status_format *)opt->value;
|
||||
if (unset)
|
||||
*value = STATUS_FORMAT_NONE;
|
||||
else if (!arg)
|
||||
*value = STATUS_FORMAT_PORCELAIN;
|
||||
else if (!strcmp(arg, "v1") || !strcmp(arg, "1"))
|
||||
*value = STATUS_FORMAT_PORCELAIN;
|
||||
else
|
||||
die("unsupported porcelain version '%s'", arg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int opt_parse_m(const struct option *opt, const char *arg, int unset)
|
||||
{
|
||||
struct strbuf *buf = opt->value;
|
||||
@@ -1316,9 +1331,9 @@ int cmd_status(int argc, const char **argv, const char *prefix)
|
||||
N_("show status concisely"), STATUS_FORMAT_SHORT),
|
||||
OPT_BOOL('b', "branch", &s.show_branch,
|
||||
N_("show branch information")),
|
||||
OPT_SET_INT(0, "porcelain", &status_format,
|
||||
N_("machine-readable output"),
|
||||
STATUS_FORMAT_PORCELAIN),
|
||||
{ OPTION_CALLBACK, 0, "porcelain", &status_format,
|
||||
N_("version"), N_("machine-readable output"),
|
||||
PARSE_OPT_OPTARG, opt_parse_porcelain },
|
||||
OPT_SET_INT(0, "long", &status_format,
|
||||
N_("show status in long format (default)"),
|
||||
STATUS_FORMAT_LONG),
|
||||
|
||||
Reference in New Issue
Block a user