git-remote-mediawiki: make error message more precise

In subroutine parse_command, error messages were not correct. For the "import" function, having too much or incorrect arguments displayed both "invalid arguments", while it displayed "too many arguments" for the "option" functions under the same conditions. Separate the two error messages in both cases. 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 14, 2013 at 15:50 UTC d8e7c67e13e0687ba01ea53522db2615ea897f96
1 file changed +7 -3
contrib/mw-to-git/git-remote-mediawiki.perl
+7 -3
@@ -161,12 +161,16 @@ sub parse_command {
161 die("Too many arguments for list\n") if (defined($cmd[2]));
162 mw_list($cmd[1]);
163 } elsif ($cmd[0] eq 'import') {
164 - die("Invalid arguments for import\n")
165 - if ($cmd[1] eq EMPTY || defined($cmd[2]));
164 + die("Invalid argument for import\n")
165 + if ($cmd[1] eq EMPTY);
166 + die("Too many arguments for import\n")
167 + if (defined($cmd[2]));
168 mw_import($cmd[1]);
169 } elsif ($cmd[0] eq 'option') {
170 + die("Invalid arguments for option\n")
171 + if ($cmd[1] eq EMPTY || $cmd[2] eq EMPTY);
172 die("Too many arguments for option\n")
169 - if ($cmd[1] eq EMPTY || $cmd[2] eq EMPTY || defined($cmd[3]));
173 + if (defined($cmd[3]));
174 mw_option($cmd[1],$cmd[2]);
175 } elsif ($cmd[0] eq 'push') {
176 mw_push($cmd[1]);