Skip to content

Commit

Permalink
t5551: do not use unportable sed '\+'
Browse files Browse the repository at this point in the history
The set-up step to prepare a repository with 50000 tags used a
non-porable '\+' to match one-or-more.

The error was not caught because the next test that uses that
repository did not even bother to check if these expected tags were
actually cloned to the resulting repository.

Fix the sed construct to use BRE and update the "clone" test that
wanted to test cloning from such a repository with many refs to
check the resulting repository.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Junio C Hamano committed May 12, 2013
1 parent 92758dd commit 5e2c7cd
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions t/t5551-http-fetch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -184,13 +184,17 @@ test_expect_success EXPENSIVE 'create 50,000 tags in the repo' '
# now assign tags to all the dangling commits we created above
tag=$("$PERL_PATH" -e "print \"bla\" x 30") &&
sed -e "s/^:\(.\+\) \(.\+\)$/\2 refs\/tags\/$tag-\1/" <marks >>packed-refs
sed -e "s|^:\([^ ]*\) \(.*\)$|\2 refs/tags/$tag-\1|" <marks >>packed-refs
)
'

test_expect_success EXPENSIVE 'clone the 50,000 tag repo to check OS command line overflow' '
git clone $HTTPD_URL/smart/repo.git too-many-refs 2>err &&
test_line_count = 0 err
test_line_count = 0 err &&
(
cd too-many-refs &&
test $(git for-each-ref refs/tags | wc -l) = 50000
)
'

stop_httpd
Expand Down

0 comments on commit 5e2c7cd

Please sign in to comment.