Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine Beaupré <anarcat@debian.org>2017-11-07 19:06:59 +0300
committerJunio C Hamano <gitster@pobox.com>2017-11-08 05:06:33 +0300
commitda2a180977166aedafb34ed7eb68edf9e488b377 (patch)
tree20eb791ec9e0e770286e7d22fb01acaf9e278b93 /contrib/mw-to-git
parentdb3364352da98f20915e1b838616688f388fad8b (diff)
remote-mediawiki: support fetching from (Main) namespace
When we specify a list of namespaces to fetch from, by default the MW API will not fetch from the default namespace, refered to as "(Main)" in the documentation: https://www.mediawiki.org/wiki/Manual:Namespace#Built-in_namespaces I haven't found a way to address that "(Main)" namespace when getting the namespace ids: indeed, when listing namespaces, there is no "canonical" field for the main namespace, although there is a "*" field that is set to "" (empty). So in theory, we could specify the empty namespace to get the main namespace, but that would make specifying namespaces harder for the user: we would need to teach users about the "empty" default namespace. It would also make the code more complicated: we'd need to parse quotes in the configuration. So we simply override the query here and allow the user to specify "(Main)" since that is the publicly documented name. Signed-off-by: Antoine Beaupré <anarcat@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/mw-to-git')
-rwxr-xr-xcontrib/mw-to-git/git-remote-mediawiki.perl7
1 files changed, 6 insertions, 1 deletions
diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
index 611a04cd74..0e60b85c8b 100755
--- a/contrib/mw-to-git/git-remote-mediawiki.perl
+++ b/contrib/mw-to-git/git-remote-mediawiki.perl
@@ -264,7 +264,12 @@ sub get_mw_tracked_categories {
sub get_mw_tracked_namespaces {
my $pages = shift;
foreach my $local_namespace (@tracked_namespaces) {
- my $namespace_id = get_mw_namespace_id($local_namespace);
+ my $namespace_id;
+ if ($local_namespace eq "(Main)") {
+ $namespace_id = 0;
+ } else {
+ $namespace_id = get_mw_namespace_id($local_namespace);
+ }
# virtual namespaces don't support allpages
next if !defined($namespace_id) || $namespace_id < 0;
my $mw_pages = $mediawiki->list( {