Move "--parent" parsing into generic revision.c library code
authorLinus Torvalds <torvalds@osdl.org>
Fri, 31 Mar 2006 00:52:42 +0000 (16:52 -0800)
committerJunio C Hamano <junkio@cox.net>
Sat, 1 Apr 2006 00:24:48 +0000 (16:24 -0800)
Not only do we do it in both rev-list.c and git.c, the revision walking
code will soon want to know whether we should rewrite parenthood
information or not.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git.c
rev-list.c
revision.c
revision.h

diff --git a/git.c b/git.c
index 0b40e30..72039c6 100644 (file)
--- a/git.c
+++ b/git.c
@@ -283,7 +283,6 @@ static int cmd_log(int argc, const char **argv, char **envp)
        char *buf = xmalloc(LOGSIZE);
        static enum cmit_fmt commit_format = CMIT_FMT_DEFAULT;
        int abbrev = DEFAULT_ABBREV;
-       int show_parents = 0;
        const char *commit_prefix = "commit ";
 
        argc = setup_revisions(argc, argv, &rev, "HEAD");
@@ -294,9 +293,6 @@ static int cmd_log(int argc, const char **argv, char **envp)
                        if (commit_format == CMIT_FMT_ONELINE)
                                commit_prefix = "";
                }
-               else if (!strcmp(arg, "--parents")) {
-                       show_parents = 1;
-               }
                else if (!strcmp(arg, "--no-abbrev")) {
                        abbrev = 0;
                }
@@ -317,7 +313,7 @@ static int cmd_log(int argc, const char **argv, char **envp)
        while ((commit = get_revision(&rev)) != NULL) {
                printf("%s%s", commit_prefix,
                       sha1_to_hex(commit->object.sha1));
-               if (show_parents) {
+               if (rev.parents) {
                        struct commit_list *parents = commit->parents;
                        while (parents) {
                                struct object *o = &(parents->item->object);
index ee88f56..22141e2 100644 (file)
@@ -39,7 +39,6 @@ struct rev_info revs;
 static int bisect_list = 0;
 static int verbose_header = 0;
 static int abbrev = DEFAULT_ABBREV;
-static int show_parents = 0;
 static int show_timestamp = 0;
 static int hdr_termination = 0;
 static const char *commit_prefix = "";
@@ -54,7 +53,7 @@ static void show_commit(struct commit *commit)
        if (commit->object.flags & BOUNDARY)
                putchar('-');
        fputs(sha1_to_hex(commit->object.sha1), stdout);
-       if (show_parents) {
+       if (revs.parents) {
                struct commit_list *parents = commit->parents;
                while (parents) {
                        struct object *o = &(parents->item->object);
@@ -338,10 +337,6 @@ int main(int argc, const char **argv)
                                commit_prefix = "commit ";
                        continue;
                }
-               if (!strcmp(arg, "--parents")) {
-                       show_parents = 1;
-                       continue;
-               }
                if (!strcmp(arg, "--timestamp")) {
                        show_timestamp = 1;
                        continue;
index c2a95aa..1224a2d 100644 (file)
@@ -605,6 +605,10 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
                                revs->limited = 1;
                                continue;
                        }
+                       if (!strcmp(arg, "--parents")) {
+                               revs->parents = 1;
+                               continue;
+                       }
                        if (!strcmp(arg, "--dense")) {
                                revs->dense = 1;
                                continue;
index 61e6bc9..0caeecf 100644 (file)
@@ -34,7 +34,8 @@ struct rev_info {
                        edge_hint:1,
                        limited:1,
                        unpacked:1,
-                       boundary:1;
+                       boundary:1,
+                       parents:1;
 
        /* special limits */
        int max_count;