dev-vcs/git: Add yet another needed MediaWiki patch
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Sun, 17 Jan 2016 15:34:14 +0000 (16:34 +0100)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Sun, 17 Jan 2016 15:34:39 +0000 (16:34 +0100)
Package-Manager: portage-2.2.26

dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch [new file with mode: 0644]
dev-vcs/git/git-2.7.0-r2.ebuild [moved from dev-vcs/git/git-2.7.0-r1.ebuild with 99% similarity]
dev-vcs/git/git-9999-r1.ebuild
dev-vcs/git/git-9999-r2.ebuild
dev-vcs/git/git-9999-r3.ebuild
dev-vcs/git/git-9999.ebuild

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 (file)
index 0000000..0ce706d
--- /dev/null
@@ -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;
+ }
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 4148ae49e7df9842ef92e13ca57a3fbaff35c4e2..a8c159be8fe4009af0862930a491e9193ec90c85 100644 (file)
@@ -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
index b414783eff4d8db8d66aceb14ce87fca3297a4ec..cceeaee798cf1d08793bc10519dabd69419a47b5 100644 (file)
@@ -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
index 91378e19a3e1622794ee22c65010d6a7c1028648..992280ba97a45f845d187a9830e88078086a7a39 100644 (file)
@@ -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
index b9b4d5a65c7f934240b6b4abbad3195c5da5d758..3aea20c476016dc21d90770a190eeea5aac9c058 100644 (file)
@@ -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
index 18fa6195d5e7bd536e10cad15930a8b8abd160be..d3344ac4e72a1e8a5aa2a76c49959d7f147938f4 100644 (file)
@@ -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