Hi, both git-rev-list(1) and git-log(1) provide a `--stdin` mode that will cause these commands to read additional commits from standard input. The primary usecase will typically be scripts that potentially process a long list of commits which might otherwise bust command line length limits. One notable omission though is that this mode does not allow us to pass pseudo-options like `--all`, `--branch`, `--glob=` or `--not`. And while it is possible to mix command line arguments and `--stdin` in order to mix both pseudo-options and a potentially large set of commits, the end result is arguably more complex for the user. This patch series thus implements support for handling pseudo-options in `--stdin` mode for both git-rev-list(1) and git-log(1). Patrick Patrick Steinhardt (3): revision: reorder `read_revisions_from_stdin()` revision: small readability improvement for reading from stdin revision: handle pseudo-opts in `--stdin` mode Documentation/rev-list-options.txt | 9 ++-- revision.c | 76 +++++++++++++++++------------- t/t6017-rev-list-stdin.sh | 32 +++++++++++++ 3 files changed, 79 insertions(+), 38 deletions(-) -- 2.41.0
Attachment:
signature.asc
Description: PGP signature