diff options
author | Ivan Todoroski <grnch@gmx.net> | 2012-04-02 17:17:03 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-04-10 14:49:18 -0700 |
commit | 7103d2543ad138bd9df672cdc94cc070dd7417d8 (patch) | |
tree | f0506d5f60f4d5dc2ee9e409d7cca723ec1933f6 /t/t0061-run-command.sh | |
parent | fetch-pack: test cases for the new --stdin option (diff) | |
download | tgif-7103d2543ad138bd9df672cdc94cc070dd7417d8.tar.xz |
remote-curl: main test case for the OS command line overflow
This is main test case for the original problem that triggered this
patch series. We create a repo with 50k tags and then test whether
git-clone over the smart HTTP protocol succeeds.
Note that we construct the repo in a slightly different way than the
original script used to reproduce the problem. This is because the
original script just created 50k tags all pointing to the same commit,
so if there was a bug where remote-curl.c was not passing all the refs
to fetch-pack we wouldn't know. The clone would succeed even if only one
tag was passed, because all the other tags were pointing at the same SHA
and would be considered present.
Instead we create a repo with 50k independent (dangling) commits and
then tag each of those commits with a unique tag. This way if one of the
tags is not given to fetch-pack, later stages of the clone would
complain about it.
This allows us to test both that the command line overflow was fixed, as
well as that it was fixed in a way that doesn't leave out any of the
refs.
Signed-off-by: Ivan Todoroski <grnch@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0061-run-command.sh')
0 files changed, 0 insertions, 0 deletions