diff options
author | Benoit Person <benoit.person@gmail.com> | 2013-09-24 21:32:30 +0200 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2013-09-24 12:42:21 -0700 |
commit | 1d905f74fd2b05dcbc768acbb5426dc11fb00f6f (patch) | |
tree | d3ed6370c0c4349452ad9805522143c8ca5ae6fc /contrib/mw-to-git/t | |
parent | Start preparing for 1.8.4.1 (diff) | |
download | tgif-1d905f74fd2b05dcbc768acbb5426dc11fb00f6f.tar.xz |
git-remote-mediawiki: bugfix for pages w/ >500 revisions
Mediawiki introduces a new API for queries w/ more than 500 results in
version 1.21. That change triggered an infinite loop while cloning a
mediawiki with such a page.
The latest API renamed and moved the "continuing" information in the
response, necessary to build the next query. The code failed to retrieve
that information but still detected that it was in a "continuing
query". As a result, it launched the same query over and over again.
If a "continuing" information is detected in the response (old or new),
the next query is updated accordingly. If not, we quit assuming it's not
a continuing query.
Reported-by: Benjamin Cathey
Signed-off-by: Benoit Person <benoit.person@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Diffstat (limited to 'contrib/mw-to-git/t')
-rwxr-xr-x | contrib/mw-to-git/t/t9365-continuing-queries.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/contrib/mw-to-git/t/t9365-continuing-queries.sh b/contrib/mw-to-git/t/t9365-continuing-queries.sh new file mode 100755 index 0000000000..27e267f532 --- /dev/null +++ b/contrib/mw-to-git/t/t9365-continuing-queries.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +test_description='Test the Git Mediawiki remote helper: queries w/ more than 500 results' + +. ./test-gitmw-lib.sh +. $TEST_DIRECTORY/test-lib.sh + +test_check_precond + +test_expect_success 'creating page w/ >500 revisions' ' + wiki_reset && + for i in `test_seq 501` + do + echo "creating revision $i" && + wiki_editpage foo "revision $i<br/>" true + done +' + +test_expect_success 'cloning page w/ >500 revisions' ' + git clone mediawiki::'"$WIKI_URL"' mw_dir +' + +test_done |