Merge branch 'dk/version-gen-gitdir'
[gitweb.git] / contrib / mw-to-git / git-remote-mediawiki.perl
index 2246c84483be14d7abe9dce818024a545a0c685e..71baf8ace8882e96eddab19e4b11448044b5190e 100755 (executable)
 
 use constant HTTP_CODE_OK => 200;
 
+if (@ARGV != 2) {
+       exit_error_usage();
+}
+
 my $remotename = $ARGV[0];
 my $url = $ARGV[1];
 
 
 ########################## 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";
+}
+
 sub parse_command {
        my ($line) = @_;
        my @cmd = split(/ /, $line);
@@ -161,12 +176,16 @@ sub parse_command {
                die("Too many arguments for list\n") if (defined($cmd[2]));
                mw_list($cmd[1]);
        } elsif ($cmd[0] eq 'import') {
-               die("Invalid arguments for import\n")
-                   if ($cmd[1] eq EMPTY || defined($cmd[2]));
+               die("Invalid argument for import\n")
+                   if ($cmd[1] eq EMPTY);
+               die("Too many arguments for import\n")
+                   if (defined($cmd[2]));
                mw_import($cmd[1]);
        } elsif ($cmd[0] eq 'option') {
+               die("Invalid arguments for option\n")
+                   if ($cmd[1] eq EMPTY || $cmd[2] eq EMPTY);
                die("Too many arguments for option\n")
-                   if ($cmd[1] eq EMPTY || $cmd[2] eq EMPTY || defined($cmd[3]));
+                   if (defined($cmd[3]));
                mw_option($cmd[1],$cmd[2]);
        } elsif ($cmd[0] eq 'push') {
                mw_push($cmd[1]);