From: Jeff King Date: Mon, 20 May 2019 12:11:13 GMT Subject: [PATCH 3/4] am: drop tty requirement for --interactive Message-ID: <20190520121113.GC11212@sigill.intra.peff.net> In-Reply-To: <20190520120636.GA12634@sigill.intra.peff.net> We have required that the stdin of "am --interactive" be a tty since a1451104ac (git-am: interactive should fail gracefully., 2005-10-12). However, this isn't strictly necessary, and makes the tool harder to test (and is unlike all of our other --interactive commands). The goal of that commit was to make sure that somebody does not do: git am --interactive --- builtin/am.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin/am.c b/builtin/am.c index 47ad7a5a70..ea16b844f1 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1643,9 +1643,6 @@ static int do_interactive(struct am_state *state) { assert(state->msg); - if (!isatty(0)) - die(_("cannot be interactive without stdin connected to a terminal.")); - for (;;) { char reply[64]; @@ -2334,6 +2331,9 @@ int cmd_am(int argc, const char **argv, const char *prefix) argv_array_push(&paths, mkpath("%s/%s", prefix, argv[i])); } + if (state.interactive && !paths.argc) + die(_("interactive mode requires patches on the command line")); + am_setup(&state, patch_format, paths.argv, keep_cr); argv_array_clear(&paths); -- 2.22.0.rc1.539.g7bfcdfe86d