Avoid scary errors about tagged trees/blobs during git-fetch
[gitweb.git] / builtin-revert.c
index ea2f15b977a8b62189755ae89e3ee704b45afae8..499bbe7343a635f1c7fc024ed6a1436042dcb8ac 100644 (file)
@@ -25,7 +25,7 @@ static const char *cherry_pick_usage = "git-cherry-pick [--edit] [-n] [-r] [-x]
 
 static int edit;
 static int replay;
-enum { REVERT, CHERRY_PICK } action;
+static enum { REVERT, CHERRY_PICK } action;
 static int no_commit;
 static struct commit *commit;
 static int needed_deref;
@@ -45,8 +45,10 @@ static void parse_options(int argc, const char **argv)
        if (argc < 2)
                usage(usage_str);
 
-       for (i = 1; i < argc - 1; i++) {
+       for (i = 1; i < argc; i++) {
                arg = argv[i];
+               if (arg[0] != '-')
+                       break;
                if (!strcmp(arg, "-n") || !strcmp(arg, "--no-commit"))
                        no_commit = 1;
                else if (!strcmp(arg, "-e") || !strcmp(arg, "--edit"))
@@ -59,7 +61,8 @@ static void parse_options(int argc, const char **argv)
                else if (strcmp(arg, "-r"))
                        usage(usage_str);
        }
-
+       if (i != argc - 1)
+               usage(usage_str);
        arg = argv[argc - 1];
        if (get_sha1(arg, sha1))
                die ("Cannot find '%s'", arg);
@@ -104,7 +107,7 @@ static char *get_oneline(const char *message)
        return result;
 }
 
-char *get_encoding(const char *message)
+static char *get_encoding(const char *message)
 {
        const char *p = message, *eol;
 
@@ -126,7 +129,7 @@ char *get_encoding(const char *message)
        return NULL;
 }
 
-struct lock_file msg_file;
+static struct lock_file msg_file;
 static int msg_fd;
 
 static void add_to_msg(const char *string)