commit: 438523a27ff5f43abb14bc5c784038e25333aae2
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 17 15:34:14 2016 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Jan 17 15:34:39 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=438523a2
dev-vcs/git: Add yet another needed MediaWiki patch
Package-Manager: portage-2.2.26
.../git/files/git-2.7.0-mediawiki-500pages.patch | 46 ++++++++++++++++++++++
.../{git-2.7.0-r1.ebuild => git-2.7.0-r2.ebuild} | 1 +
dev-vcs/git/git-9999-r1.ebuild | 1 +
dev-vcs/git/git-9999-r2.ebuild | 1 +
dev-vcs/git/git-9999-r3.ebuild | 1 +
dev-vcs/git/git-9999.ebuild | 1 +
6 files changed, 51 insertions(+)
diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
b/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
new file mode 100644
index 0000000..0ce706d
--- /dev/null
+++ b/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
@@ -0,0 +1,46 @@
+Searching for pages using the MediaWiki API returns at most 500 results
+(hi Patrick). To get a list of all pages in a larger wiki, we need to run
+repeated searches...
+
+Source: https://github.com/moy/Git-Mediawiki/issues/32
+Author: anarcat https://github.com/anarcat
+
+diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl
b/contrib/mw-to-git/git-remote-mediawiki.perl
+index 8dd74a9..f2ce311 100755
+--- a/contrib/mw-to-git/git-remote-mediawiki.perl
++++ b/contrib/mw-to-git/git-remote-mediawiki.perl
+@@ -259,16 +259,29 @@ sub get_mw_tracked_categories {
+ sub get_mw_all_pages {
+ my $pages = shift;
+ # No user-provided list, get the list of pages from the API.
+- my $mw_pages = $mediawiki->list({
++ my $query = {
+ action => 'query',
+ list => 'allpages',
+ aplimit => 'max'
+- });
+- if (!defined($mw_pages)) {
++ };
++ my $curpage;
++ my $oldpage = '';
++ while (1) {
++ if (defined($curpage)) {
++ if ($oldpage eq $curpage) {
++ last;
++ }
++ $query->{apfrom} = $curpage;
++ $oldpage = $curpage;
++ }
++ my $mw_pages = $mediawiki->list($query);
++ if (!defined($mw_pages)) {
+ fatal_mw_error("get the list of wiki pages");
+- }
+- foreach my $page (@{$mw_pages}) {
++ }
++ foreach my $page (@{$mw_pages}) {
+ $pages->{$page->{title}} = $page;
++ $curpage = $page->{title};
++ }
+ }
+ return;
+ }
diff --git a/dev-vcs/git/git-2.7.0-r1.ebuild b/dev-vcs/git/git-2.7.0-r2.ebuild
similarity index 99%
rename from dev-vcs/git/git-2.7.0-r1.ebuild
rename to dev-vcs/git/git-2.7.0-r2.ebuild
index 4148ae4..a8c159b 100644
--- a/dev-vcs/git/git-2.7.0-r1.ebuild
+++ b/dev-vcs/git/git-2.7.0-r2.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
if use mediawiki-experimental ; then
epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
fi
epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index b414783..cceeaee 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
if use mediawiki-experimental ; then
epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
fi
epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 91378e1..992280b 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
if use mediawiki-experimental ; then
epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
fi
epatch "${FILESDIR}"/${PN}-2.2.0-svn-fe-linking.patch
diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index b9b4d5a..3aea20c 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -237,6 +237,7 @@ src_prepare() {
if use mediawiki-experimental ; then
epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
fi
epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
index 18fa619..d3344ac 100644
--- a/dev-vcs/git/git-9999.ebuild
+++ b/dev-vcs/git/git-9999.ebuild
@@ -234,6 +234,7 @@ src_prepare() {
if use mediawiki-experimental ; then
epatch "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
epatch "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ epatch "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
fi
epatch "${FILESDIR}"/${PN}-2.2.0-svn-fe-linking.patch