On Tue, Feb 16, 2021 at 01:25:32PM -0500, Taylor Blau wrote: > and that would cause 'git status' to do what you expect: > > $ git.compile status --short --branch --show-stash > ## tb/empty-trailer-continuation > M wt-status.c > Your stash currently has 16 entries > > But it may not be the right thing to do, since that explicitly breaks > the --porcelain format. We may want something like this in addition to > the above: > > diff --git a/builtin/commit.c b/builtin/commit.c > index 739110c5a7..ef855896a2 100644 > --- a/builtin/commit.c > +++ b/builtin/commit.c > @@ -1414,6 +1414,12 @@ int cmd_status(int argc, const char **argv, const char *prefix) > s.show_untracked_files == SHOW_NO_UNTRACKED_FILES) > die(_("Unsupported combination of ignored and untracked-files arguments")); > > + if (status_format == STATUS_FORMAT_PORCELAIN || > + status_format == STATUS_FORMAT_PORCELAIN_V2) { > + if (s.show_stash) > + die(_("--porcelain is incompatible with --show-stash")); > + } > + I think ideally we'd define a porcelain format for it, since v2 has explicit support for extending with new headers. Something like: # stash.number 16 would probably work. I don't think it's _strictly_ necessary, in that the die() above does not paint us into a corner. We can always loosen it later. But it is easy enough that it probably makes sense to just define it while we are here. And in particular, I think we may want to mimic it for --short, rather than just showing the "long" output, which IMHO is kind of dissonant in terms of the formatting (though again, we reserve the right to change --short, so I don't think we've painted ourselves into a corner). -Peff