Rollback, stage, unstage, clean, reset and shelve passed every path to one git invocation, so a few thousand files exceeded the 32,767-character CreateProcess limit and failed with os error 206 before git ran. Path-taking commands now run in batches sized to the platform limit, with room reserved for the quotes Windows adds around arguments containing spaces. Commit and stash are not chunked, since splitting them would change their result.
Covers the sibling call sites in patch.rs and shelf.rs. Not verified on a real Windows machine.
Closes#457
Co-authored-by: a-rookie-of-C-language <[email protected]>