setup_revisions(): handle -n<n> and -<n> 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 <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2006-03-02 15:24:01 -08:00
Родитель 7ae0b0cb65
Коммит 64bc6e3db5
2 изменённых файлов: 16 добавлений и 14 удалений

15
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 -<digit>, 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 = "";

Просмотреть файл

@ -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 -<digit>, 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;