git-remote-mediawiki: display message when launched directly

Users may be confused when they run the perl script directly. A good way to detect this is to check the number of parameters used to call the script, which is never different from 2 in a normal use. Display a proper error message to avoid any confusion. Signed-off-by: Célestin Matte <celestin.matte@ensimag.fr> Signed-off-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Célestin Matte committed Jun 11, 2013 at 15:38 UTC 5ada8687995fadea01f755d52ceec58337d003a3
1 file changed +15
contrib/mw-to-git/git-remote-mediawiki.perl
+15
@@ -41,6 +41,10 @@ use constant NULL_SHA1 => "0000000000000000000000000000000000000000";
41 # Used on Git's side to reflect empty edit messages on the wiki
42 use constant EMPTY_MESSAGE => '*Empty MediaWiki Message*';
43
44 +if (@ARGV != 2) {
45 + exit_error_usage();
46 +}
47 +
48 my $remotename = $ARGV[0];
49 my $url = $ARGV[1];
50
@@ -156,6 +160,17 @@ while (<STDIN>) {
160
161 ########################## Functions ##############################
162
163 +## error handling
164 +sub exit_error_usage {
165 + die "ERROR: git-remote-mediawiki module was not called with a correct number of\n" .
166 + "parameters\n" .
167 + "You may obtain this error because you attempted to run the git-remote-mediawiki\n" .
168 + "module directly.\n" .
169 + "This module can be used the following way:\n" .
170 + "\tgit clone mediawiki://<address of a mediawiki>\n" .
171 + "Then, use git commit, push and pull as with every normal git repository.\n";
172 +}
173 +
174 ## credential API management (generic functions)
175
176 sub credential_read {