Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > On Wed, Sep 4, 2019 at 5:38 PM Johannes Schindelin via GitGitGadget > <gitgitgadget@xxxxxxxxx> wrote: >> Just like with other Git commands, this option makes it read the paths >> from the standard input. It comes in handy when resetting many, many >> paths at once and wildcards are not an option (e.g. when the paths are >> generated by a tool). >> [...] >> Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> >> --- >> diff --git a/builtin/reset.c b/builtin/reset.c >> @@ -316,6 +325,38 @@ int cmd_reset(int argc, const char **argv, const char *prefix) >> + if (read_from_stdin) { >> + [...] >> + while (getline_fn(&buf, stdin) != EOF) { >> + if (!nul_term_line && buf.buf[0] == '"') { >> + strbuf_reset(&unquoted); >> + if (unquote_c_style(&unquoted, buf.buf, NULL)) >> + die(_("line is badly quoted")); > > Perhaps include the offending line in the error message to make it > easier for the user to understand what went wrong: > > die(_("line is badly quoted: %s"), buf.buf); I think the patch is solving the right problem by adding a feature that is useful to work around the command line limit, but I doubt the wisdom of limiting the input to "paths" by default. It would be perfect if the command gets taught to take pathspec, with "git --[no-]literal-pathspec reset --stdin" as an escape hatch.