From d9a83684c473e04c61f0060c4926d20f8183f7b6 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 27 Feb 2006 08:54:36 -0800 Subject: Splitting rev-list into revisions lib, end of beginning. This makes the rewrite easier to validate in that revision flag parsing and warlking part are now all in rev_info structure. Signed-off-by: Junio C Hamano --- revision.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'revision.c') diff --git a/revision.c b/revision.c index d61410bc59..67ff4de2d1 100644 --- a/revision.c +++ b/revision.c @@ -143,8 +143,10 @@ static struct commit *get_commit_reference(struct rev_info *revs, const char *na object->flags |= flags; if (parse_commit(commit) < 0) die("unable to parse commit %s", name); - if (flags & UNINTERESTING) + if (flags & UNINTERESTING) { mark_parents_uninteresting(commit); + revs->limited = 1; + } return commit; } @@ -255,10 +257,12 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs) } if (!strncmp(arg, "--max-age=", 10)) { revs->max_age = atoi(arg + 10); + revs->limited = 1; continue; } if (!strncmp(arg, "--min-age=", 10)) { revs->min_age = atoi(arg + 10); + revs->limited = 1; continue; } if (!strcmp(arg, "--all")) { @@ -277,11 +281,13 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs) } if (!strcmp(arg, "--topo-order")) { revs->topo_order = 1; + revs->limited = 1; continue; } if (!strcmp(arg, "--date-order")) { revs->lifo = 0; revs->topo_order = 1; + revs->limited = 1; continue; } if (!strcmp(arg, "--dense")) { @@ -309,6 +315,11 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs) revs->edge_hint = 1; continue; } + if (!strcmp(arg, "--unpacked")) { + revs->unpacked = 1; + revs->limited = 1; + continue; + } *unrecognized++ = arg; left++; continue; @@ -365,6 +376,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs) commit = get_commit_reference(revs, def, sha1, 0); add_one_commit(commit, revs); } + if (revs->paths) + revs->limited = 1; *unrecognized = NULL; return left; } -- cgit v1.2.1