On Wed, Jul 31, 2019 at 05:45:12PM +0200, Alexandr Miloslavskiy wrote: > In our git UI, we sometimes run into OS commandline length limit when > trying to specify a list of pathspecs. For example, this happens when > user selects a large set of files and wants to commit them. As a > workaround, we split files and issue multiple git commands. > > This has multiple disadvantages: > 1) Some commands are a lot slower this way. For example, commit-amend > can take 45 minutes instead of 30 seconds, because git will do a lot > of unnecessary work. > 2) The operation is no longer completed in one "transaction". > 3) This makes our code more complicated. > > Our suggestion is to change commands such as 'commit', 'add', etc to > also work with --stdin-paths. If a command already supports stdin for > any purpose, then trying to use both options will return an error. I don't have any real objection to adding stdin support for more commands. Bu tin the specific case you're discussing, it seems like using "git update-index" might already solve your problem. It's the intended plumbing for scripted index updates, and it already supports receiving paths from stdin. -Peff