From: Junio C Hamano Date: Thu, 20 Jun 2013 23:02:42 +0000 (-0700) Subject: Merge branch 'cm/remote-mediawiki' X-Git-Tag: v1.8.4-rc0~155 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/0c36f3a198fab35c694a1e38c57227989c98e48e Merge branch 'cm/remote-mediawiki' * cm/remote-mediawiki: git-remote-mediawiki: display message when launched directly --- 0c36f3a198fab35c694a1e38c57227989c98e48e diff --cc contrib/mw-to-git/git-remote-mediawiki.perl index 717387275c,9b71972fc7..c1a967b3d1 --- a/contrib/mw-to-git/git-remote-mediawiki.perl +++ b/contrib/mw-to-git/git-remote-mediawiki.perl @@@ -157,6 -160,68 +161,17 @@@ while () ########################## Functions ############################## + ## error handling + sub exit_error_usage { + die "ERROR: git-remote-mediawiki module was not called with a correct number of\n" . + "parameters\n" . + "You may obtain this error because you attempted to run the git-remote-mediawiki\n" . + "module directly.\n" . + "This module can be used the following way:\n" . + "\tgit clone mediawiki://
\n" . + "Then, use git commit, push and pull as with every normal git repository.\n"; + } + -## credential API management (generic functions) - -sub credential_read { - my %credential; - my $reader = shift; - my $op = shift; - while (<$reader>) { - my ($key, $value) = /([^=]*)=(.*)/; - if (not defined $key) { - die "ERROR receiving response from git credential $op:\n$_\n"; - } - $credential{$key} = $value; - } - return %credential; -} - -sub credential_write { - my $credential = shift; - my $writer = shift; - # url overwrites other fields, so it must come first - print $writer "url=$credential->{url}\n" if exists $credential->{url}; - while (my ($key, $value) = each(%$credential) ) { - if (length $value && $key ne 'url') { - print $writer "$key=$value\n"; - } - } -} - -sub credential_run { - my $op = shift; - my $credential = shift; - my $pid = open2(my $reader, my $writer, "git credential $op"); - credential_write($credential, $writer); - print $writer "\n"; - close($writer); - - if ($op eq "fill") { - %$credential = credential_read($reader, $op); - } else { - if (<$reader>) { - die "ERROR while running git credential $op:\n$_"; - } - } - close($reader); - waitpid($pid, 0); - my $child_exit_status = $? >> 8; - if ($child_exit_status != 0) { - die "'git credential $op' failed with code $child_exit_status."; - } -} - # MediaWiki API instance, created lazily. my $mediawiki;