From: Jonathan Nieder Date: Wed, 25 Sep 2013 06:19:00 +0000 (-0700) Subject: Merge branch 'maint' X-Git-Tag: v1.8.5-rc0~85 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/962393b5d9744ee124acb74d6c4cf0e162d12e9a?hp=-c Merge branch 'maint' * maint: git-remote-mediawiki: bugfix for pages w/ >500 revisions --- 962393b5d9744ee124acb74d6c4cf0e162d12e9a diff --combined contrib/mw-to-git/git-remote-mediawiki.perl index c9a4805ec1,85d0c42296..476e0a2bc0 --- a/contrib/mw-to-git/git-remote-mediawiki.perl +++ b/contrib/mw-to-git/git-remote-mediawiki.perl @@@ -590,9 -590,6 +590,9 @@@ sub mw_capabilities print {*STDOUT} "import\n"; print {*STDOUT} "list\n"; print {*STDOUT} "push\n"; + if ($dumb_push) { + print {*STDOUT} "no-private-update\n"; + } print {*STDOUT} "\n"; return; } @@@ -625,6 -622,9 +625,9 @@@ sub fetch_mw_revisions_for_page rvstartid => $fetch_from, rvlimit => 500, pageids => $id, + + # Let MediaWiki know that we support the latest API. + continue => '', }; my $revnum = 0; @@@ -640,8 -640,15 +643,15 @@@ push(@page_revs, $page_rev_ids); $revnum++; } - last if (!$result->{'query-continue'}); - $query->{rvstartid} = $result->{'query-continue'}->{revisions}->{rvstartid}; + + if ($result->{'query-continue'}) { # For legacy APIs + $query->{rvstartid} = $result->{'query-continue'}->{revisions}->{rvstartid}; + } elsif ($result->{continue}) { # For newer APIs + $query->{rvstartid} = $result->{continue}->{rvcontinue}; + $query->{continue} = $result->{continue}->{continue}; + } else { + last; + } } if ($shallow_import && @page_revs) { print {*STDERR} " Found 1 revision (shallow import).\n"; @@@ -1214,6 -1221,7 +1224,6 @@@ sub mw_push_revision } if (!$dumb_push) { run_git(qq(notes --ref=${remotename}/mediawiki add -f -m "mediawiki_revision: ${mw_revision}" ${sha1_commit})); - run_git(qq(update-ref -m "Git-MediaWiki push" refs/mediawiki/${remotename}/master ${sha1_commit} ${sha1_child})); } }