The full description of the problem can be found in the first patch.
Changes since v2:
* fix a bunch of code style and documentation issues spotted by Junio
* tighten ref format checking on stdin to not allow extra whitespace
* make fetch-pack --stdin tests independent of the order of refs
* add test for duplicate refs on stdin
* drop the two ugly and redundant --stateless-rpc tests
* drop the test that tolerated extra whitespace
Changes since the original patch:
* add test cases
* add full commit messages
* fix formatting problem in --stdin doc
* split overly long fetch_pack_usage line
* use strbuf_getline() instead of fgets() for reading refs from stdin
* minor optimization of the pkt-line reading loop, it was using xstrdup()
even though the string length was already known, use xmemdupz() instead
* rework the remote-curl.c patch to not add new parameters to rpc_service(),
instead add a new strbuf member to rpc_state to pass the info around
Ivan Todoroski (4):
fetch-pack: new --stdin option to read refs from stdin
remote-curl: send the refs to fetch-pack on stdin
fetch-pack: test cases for the new --stdin option
remote-curl: main test case for the OS command line overflow
Documentation/git-fetch-pack.txt | 10 ++++++
builtin/fetch-pack.c | 42 +++++++++++++++++++++++-
fetch-pack.h | 1 +
remote-curl.c | 14 ++++++--
t/t5500-fetch-pack.sh | 66 ++++++++++++++++++++++++++++++++++++++
t/t5551-http-fetch.sh | 31 ++++++++++++++++++
6 files changed, 161 insertions(+), 3 deletions(-)