diff --git a/git.c b/git.c index bf68daca20..a547dbd913 100644 --- a/git.c +++ b/git.c @@ -264,20 +264,7 @@ static int cmd_log(int argc, char **argv, char **envp) argc = setup_revisions(argc, argv, &rev, "HEAD"); while (1 < argc) { char *arg = argv[1]; - /* accept -, like traditilnal "head" */ - if ((*arg == '-') && isdigit(arg[1])) { - rev.max_count = atoi(arg + 1); - } - else if (!strcmp(arg, "-n")) { - if (argc < 2) - die("-n requires an argument"); - rev.max_count = atoi(argv[2]); - argc--; argv++; - } - else if (!strncmp(arg,"-n",2)) { - rev.max_count = atoi(arg + 2); - } - else if (!strncmp(arg, "--pretty", 8)) { + if (!strncmp(arg, "--pretty", 8)) { commit_format = get_commit_format(arg + 8); if (commit_format == CMIT_FMT_ONELINE) commit_prefix = ""; diff --git a/revision.c b/revision.c index 4885871425..a3df810076 100644 --- a/revision.c +++ b/revision.c @@ -482,6 +482,21 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch revs->max_count = atoi(arg + 12); continue; } + /* accept -, like traditilnal "head" */ + if ((*arg == '-') && isdigit(arg[1])) { + revs->max_count = atoi(arg + 1); + continue; + } + if (!strcmp(arg, "-n")) { + if (argc <= i + 1) + die("-n requires an argument"); + revs->max_count = atoi(argv[++i]); + continue; + } + if (!strncmp(arg,"-n",2)) { + revs->max_count = atoi(arg + 2); + continue; + } if (!strncmp(arg, "--max-age=", 10)) { revs->max_age = atoi(arg + 10); revs->limited = 1;