mbox series

[0/5] Add --pathspec-from-file option for reset, commit

Message ID pull.445.git.1572895605.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series Add --pathspec-from-file option for reset, commit | expand

Message

Linus Arver via GitGitGadget Nov. 4, 2019, 7:26 p.m. UTC
Adds --pathspec-from-file option for porcelain commands to avoid commandline
length limit.

So far I implemented it for git commit and git reset, but my goal is to
support other commands as well after these patches are reviewed.

The patches are based on the following discussions:
https://public-inbox.org/git/c3be6eff-365b-96b8-16d2-0528612fc1fc@syntevo.com/T/#u
There, --stdin-paths was suggested.
https://public-inbox.org/git/a38bc928-7ccd-e2d9-b89b-23298e9fa95d@syntevo.com/T/#u
There, --stdin-paths was extended to --paths-file.
https://public-inbox.org/git/pull.133.git.gitgitgadget@gmail.com/
https://github.com/gitgitgadget/git/pull/133Patch from Johannes, I used it
as base of my patch. There, --pathspec-from-file is suggested in discussion.

Major changes compared to patch from Johannes:

1) --pathspec-from-file allows to read file, not just stdin 2) 
--literal-pathspecs should be honored. This is a good improvement because it
keeps --pathspec-from-file much closer to passing args on commandline. Since
the goal of the new option is to avoid commandline length limit, both
behaviors should be close to each other. 3) Patches are designed with all
other git commands in mind

Alexandr Miloslavskiy (5):
  pathspec: add new function to parse file
  doc: reset: unify <pathspec> description
  reset: support the --pathspec-from-file option
  doc: commit: unify <pathspec> description
  commit: support the --pathspec-from-file option

 Documentation/git-commit.txt    |  19 ++++-
 Documentation/git-reset.txt     |  40 +++++++---
 builtin/commit.c                |  25 ++++++-
 builtin/reset.c                 |  22 +++++-
 pathspec.c                      |  41 +++++++++++
 pathspec.h                      |  10 +++
 t/t7107-reset-pathspec-file.sh  | 126 ++++++++++++++++++++++++++++++++
 t/t7526-commit-pathspec-file.sh | 107 +++++++++++++++++++++++++++
 8 files changed, 371 insertions(+), 19 deletions(-)
 create mode 100755 t/t7107-reset-pathspec-file.sh
 create mode 100755 t/t7526-commit-pathspec-file.sh


base-commit: da72936f544fec5a335e66432610e4cef4430991
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-445%2FSyntevoAlex%2F%230207_pathspec_from_file-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-445/SyntevoAlex/#0207_pathspec_from_file-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/445