diff options
author | Adam Simpkins <adam@adamsimpkins.net> | 2008-05-04 03:36:52 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-05-05 17:38:22 -0700 |
commit | 885cf808998c4e6d685c669a44f02b37f6965fd9 (patch) | |
tree | 793ae0c47cb768263b7e44f437fc9410c7e6f44d | |
parent | c697ad143ba1ff58b29e7efe149d244d4b7010a5 (diff) | |
download | git-885cf808998c4e6d685c669a44f02b37f6965fd9.tar.gz |
revision API: split parent rewriting and parent printing options
This change allows parent rewriting to be performed without causing
the log and rev-list commands to print the parents.
Signed-off-by: Adam Simpkins <adam@adamsimpkins.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-rev-list.c | 2 | ||||
-rw-r--r-- | log-tree.c | 4 | ||||
-rw-r--r-- | revision.c | 7 | ||||
-rw-r--r-- | revision.h | 3 |
4 files changed, 9 insertions, 7 deletions
diff --git a/builtin-rev-list.c b/builtin-rev-list.c index edc0bd35bb..476a870c7d 100644 --- a/builtin-rev-list.c +++ b/builtin-rev-list.c @@ -77,7 +77,7 @@ static void show_commit(struct commit *commit) stdout); else fputs(sha1_to_hex(commit->object.sha1), stdout); - if (revs.parents) { + if (revs.print_parents) { struct commit_list *parents = commit->parents; while (parents) { printf(" %s", sha1_to_hex(parents->item->object.sha1)); diff --git a/log-tree.c b/log-tree.c index d3fb0e520c..74829d720f 100644 --- a/log-tree.c +++ b/log-tree.c @@ -231,7 +231,7 @@ void show_log(struct rev_info *opt) putchar('>'); } fputs(diff_unique_abbrev(commit->object.sha1, abbrev_commit), stdout); - if (opt->parents) + if (opt->print_parents) show_parents(commit, abbrev_commit); show_decorations(commit); putchar(opt->diffopt.line_termination); @@ -271,7 +271,7 @@ void show_log(struct rev_info *opt) } fputs(diff_unique_abbrev(commit->object.sha1, abbrev_commit), stdout); - if (opt->parents) + if (opt->print_parents) show_parents(commit, abbrev_commit); if (parent) printf(" (from %s)", diff --git a/revision.c b/revision.c index 4231ea2cce..a813304162 100644 --- a/revision.c +++ b/revision.c @@ -1105,7 +1105,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch } } if (!strcmp(arg, "--parents")) { - revs->parents = 1; + revs->rewrite_parents = 1; + revs->print_parents = 1; continue; } if (!strcmp(arg, "--dense")) { @@ -1524,13 +1525,13 @@ enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit) /* Commit without changes? */ if (commit->object.flags & TREESAME) { /* drop merges unless we want parenthood */ - if (!revs->parents) + if (!revs->rewrite_parents) return commit_ignore; /* non-merge - always ignore it */ if (!commit->parents || !commit->parents->next) return commit_ignore; } - if (revs->parents && rewrite_parents(revs, commit) < 0) + if (revs->rewrite_parents && rewrite_parents(revs, commit) < 0) return commit_error; } return commit_show; diff --git a/revision.h b/revision.h index 31217f8c67..201bd97c58 100644 --- a/revision.h +++ b/revision.h @@ -46,7 +46,8 @@ struct rev_info { unpacked:1, /* see also ignore_packed below */ boundary:2, left_right:1, - parents:1, + rewrite_parents:1, + print_parents:1, reverse:1, cherry_pick:1, first_parent_only:1; |