From 64bc6e3db54ef9e2accfdb8e6c8168f789946fcb Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 2 Mar 2006 15:24:01 -0800 Subject: [PATCH] setup_revisions(): handle -n and - internally. This moves the handling of max-count shorthand from the internal implementation of "git log" to setup_revisions() so other users of setup_revisions() can use it. Signed-off-by: Junio C Hamano --- git.c | 15 +-------------- revision.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 14 deletions(-) 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;