Skip to content

Commit

Permalink
status: respect "-b" for porcelain format
Browse files Browse the repository at this point in the history
There is no reason not to, as the user has to explicitly ask
for it, so we are not breaking compatibility by doing so. We
can do this simply by moving the "show_branch" flag into
the wt_status struct. As a bonus, this saves us from passing
it explicitly, simplifying the code.

Signed-off-by: Jeff King <peff@peff.net>
  • Loading branch information
Jeff King committed May 8, 2012
1 parent a598523 commit d4a6bf1
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 11 deletions.
2 changes: 1 addition & 1 deletion Documentation/git-status.txt
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ order is reversed (e.g 'from \-> to' becomes 'to from'). Second, a NUL
and the terminating newline (but a space still separates the status
field from the first filename). Third, filenames containing special
characters are not specially formatted; no quoting or
backslash-escaping is performed. Fourth, there is no branch line.
backslash-escaping is performed.

CONFIGURATION
-------------
Expand Down
9 changes: 4 additions & 5 deletions builtin/commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ static enum {
STATUS_FORMAT_SHORT,
STATUS_FORMAT_PORCELAIN
} status_format = STATUS_FORMAT_LONG;
static int status_show_branch;

static int opt_parse_m(const struct option *opt, const char *arg, int unset)
{
Expand Down Expand Up @@ -459,7 +458,7 @@ static int run_status(FILE *fp, const char *index_file, const char *prefix, int

switch (status_format) {
case STATUS_FORMAT_SHORT:
wt_shortstatus_print(s, status_show_branch);
wt_shortstatus_print(s);
break;
case STATUS_FORMAT_PORCELAIN:
wt_porcelain_print(s);
Expand Down Expand Up @@ -1175,7 +1174,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
OPT__VERBOSE(&verbose, "be verbose"),
OPT_SET_INT('s', "short", &status_format,
"show status concisely", STATUS_FORMAT_SHORT),
OPT_BOOLEAN('b', "branch", &status_show_branch,
OPT_BOOLEAN('b', "branch", &s.show_branch,
"show branch information"),
OPT_SET_INT(0, "porcelain", &status_format,
"machine-readable output",
Expand Down Expand Up @@ -1230,7 +1229,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)

switch (status_format) {
case STATUS_FORMAT_SHORT:
wt_shortstatus_print(&s, status_show_branch);
wt_shortstatus_print(&s);
break;
case STATUS_FORMAT_PORCELAIN:
wt_porcelain_print(&s);
Expand Down Expand Up @@ -1402,7 +1401,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
OPT_BOOLEAN(0, "dry-run", &dry_run, "show what would be committed"),
OPT_SET_INT(0, "short", &status_format, "show status concisely",
STATUS_FORMAT_SHORT),
OPT_BOOLEAN(0, "branch", &status_show_branch, "show branch information"),
OPT_BOOLEAN(0, "branch", &s.show_branch, "show branch information"),
OPT_SET_INT(0, "porcelain", &status_format,
"machine-readable output", STATUS_FORMAT_PORCELAIN),
OPT_BOOLEAN('z', "null", &s.null_termination,
Expand Down
7 changes: 6 additions & 1 deletion t/t7508-status.sh
Original file line number Diff line number Diff line change
Expand Up @@ -656,9 +656,14 @@ test_expect_success 'status --porcelain ignores color.status' '
git config --unset color.status
git config --unset color.ui

test_expect_success 'status --porcelain ignores -b' '
test_expect_success 'status --porcelain respects -b' '
git status --porcelain -b >output &&
{
echo "## master" &&
cat expect
} >tmp &&
mv tmp expect &&
test_cmp expect output
'
Expand Down
6 changes: 3 additions & 3 deletions wt-status.c
Original file line number Diff line number Diff line change
Expand Up @@ -918,11 +918,11 @@ static void wt_shortstatus_print_tracking(struct wt_status *s)
fputc(s->null_termination ? '\0' : '\n', s->fp);
}

void wt_shortstatus_print(struct wt_status *s, int show_branch)
void wt_shortstatus_print(struct wt_status *s)
{
int i;

if (show_branch)
if (s->show_branch)
wt_shortstatus_print_tracking(s);

for (i = 0; i < s->change.nr; i++) {
Expand Down Expand Up @@ -955,5 +955,5 @@ void wt_porcelain_print(struct wt_status *s)
s->use_color = 0;
s->relative_paths = 0;
s->prefix = NULL;
wt_shortstatus_print(s, 0);
wt_shortstatus_print(s);
}
3 changes: 2 additions & 1 deletion wt-status.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ struct wt_status {
const char *ignore_submodule_arg;
char color_palette[WT_STATUS_MAXSLOT][COLOR_MAXLEN];
int null_termination;
int show_branch;

/* These are computed during processing of the individual sections */
int commitable;
Expand All @@ -73,7 +74,7 @@ void wt_status_prepare(struct wt_status *s);
void wt_status_print(struct wt_status *s);
void wt_status_collect(struct wt_status *s);

void wt_shortstatus_print(struct wt_status *s, int show_branch);
void wt_shortstatus_print(struct wt_status *s);
void wt_porcelain_print(struct wt_status *s);

void status_printf_ln(struct wt_status *s, const char *color, const char *fmt, ...)
Expand Down

0 comments on commit d4a6bf1

Please sign in to comment.