git-remote-mediawiki: display message when launched directly
authorCélestin Matte <celestin.matte@ensimag.fr>
Tue, 11 Jun 2013 13:38:48 +0000 (15:38 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 11 Jun 2013 21:27:15 +0000 (14:27 -0700)
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>
contrib/mw-to-git/git-remote-mediawiki.perl
index 9c14c1f88d3a8f23df54db2adc7985eb00722c12..9b71972fc7393b4d5ece06bedbe83e5a0ae14ad0 100755 (executable)
 # Used on Git's side to reflect empty edit messages on the wiki
 use constant EMPTY_MESSAGE => '*Empty MediaWiki Message*';
 
 # Used on Git's side to reflect empty edit messages on the wiki
 use constant EMPTY_MESSAGE => '*Empty MediaWiki Message*';
 
+if (@ARGV != 2) {
+       exit_error_usage();
+}
+
 my $remotename = $ARGV[0];
 my $url = $ARGV[1];
 
 my $remotename = $ARGV[0];
 my $url = $ARGV[1];
 
 
 ########################## Functions ##############################
 
 
 ########################## 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://<address of a mediawiki>\n" .
+           "Then, use git commit, push and pull as with every normal git repository.\n";
+}
+
 ## credential API management (generic functions)
 
 sub credential_read {
 ## credential API management (generic functions)
 
 sub credential_read {