Skip to content

Commit

Permalink
Merge branch 'mm/mediawiki-https-fail-message'
Browse files Browse the repository at this point in the history
Hint users when https:// connection failed to check the certificate.

* mm/mediawiki-https-fail-message:
  git-remote-mediawiki: better error message when HTTP(S) access fails
  • Loading branch information
Junio C Hamano committed Jun 11, 2013
2 parents a1ddd11 + 0aa0321 commit f1e7414
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions contrib/mw-to-git/git-remote-mediawiki.perl
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,22 @@ sub mw_connect_maybe {
}
}

sub fatal_mw_error {
my $action = shift;
print STDERR "fatal: could not $action.\n";
print STDERR "fatal: '$url' does not appear to be a mediawiki\n";
if ($url =~ /^https/) {
print STDERR "fatal: make sure '$url/api.php' is a valid page\n";
print STDERR "fatal: and the SSL certificate is correct.\n";
} else {
print STDERR "fatal: make sure '$url/api.php' is a valid page.\n";
}
print STDERR "fatal: (error " .
$mediawiki->{error}->{code} . ': ' .
$mediawiki->{error}->{details} . ")\n";
exit 1;
}

## Functions for listing pages on the remote wiki
sub get_mw_tracked_pages {
my $pages = shift;
Expand Down Expand Up @@ -290,10 +306,7 @@ sub get_mw_all_pages {
aplimit => 'max'
});
if (!defined($mw_pages)) {
print STDERR "fatal: could not get the list of wiki pages.\n";
print STDERR "fatal: '$url' does not appear to be a mediawiki\n";
print STDERR "fatal: make sure '$url/api.php' is a valid page.\n";
exit 1;
fatal_mw_error("get the list of wiki pages");
}
foreach my $page (@{$mw_pages}) {
$pages->{$page->{title}} = $page;
Expand All @@ -316,10 +329,7 @@ sub get_mw_first_pages {
titles => $titles,
});
if (!defined($mw_pages)) {
print STDERR "fatal: could not query the list of wiki pages.\n";
print STDERR "fatal: '$url' does not appear to be a mediawiki\n";
print STDERR "fatal: make sure '$url/api.php' is a valid page.\n";
exit 1;
fatal_mw_error("query the list of wiki pages");
}
while (my ($id, $page) = each(%{$mw_pages->{query}->{pages}})) {
if ($id < 0) {
Expand Down

0 comments on commit f1e7414

Please sign in to comment.