There's no reason to fail if the user asks for --stdin twice. Of course there's only one stdin, and it can only be read once, and there's no reason to ask for it twice, but --all --all doesn't make sense, and that's accepted, so accept this too. Also, with read_revisions_from_stdin in revision.c where it might be called by other programs, it's better to check that stdin isn't at eof before trying to read it. Signed-off-by: Adam Brewster <asb@xxxxxx> --- builtin-rev-list.c | 3 --- revision.c | 2 +- 2 files changed, 1 insertions(+), 4 deletions(-) diff --git a/builtin-rev-list.c b/builtin-rev-list.c index b4a2c44..7f7c1a7 100644 --- a/builtin-rev-list.c +++ b/builtin-rev-list.c @@ -579,7 +579,6 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix) { struct commit_list *list; int i; - int read_from_stdin = 0; int bisect_show_vars = 0; int bisect_find_all = 0; int quiet = 0; @@ -616,8 +615,6 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix) continue; } if (!strcmp(arg, "--stdin")) { - if (read_from_stdin++) - die("--stdin given twice?"); read_revisions_from_stdin(&revs); continue; } diff --git a/revision.c b/revision.c index 0191160..c1550c4 100644 --- a/revision.c +++ b/revision.c @@ -914,7 +914,7 @@ int handle_revision_arg(const char *arg, struct rev_info *revs, void read_revisions_from_stdin(struct rev_info *revs) { char line[1000]; - + if (feof(stdin)) return; while (fgets(line, sizeof(line), stdin) != NULL) { int len = strlen(line); if (len && line[len - 1] == '\n') -- 1.5.5.1.211.g65ea3.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html