提交 7b0c9966 编写于 作者: L Linus Torvalds 提交者: Junio C Hamano

Move "--parent" parsing into generic revision.c library code

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: NLinus Torvalds <torvalds@osdl.org>
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 8eef8e09
...@@ -283,7 +283,6 @@ static int cmd_log(int argc, const char **argv, char **envp) ...@@ -283,7 +283,6 @@ static int cmd_log(int argc, const char **argv, char **envp)
char *buf = xmalloc(LOGSIZE); char *buf = xmalloc(LOGSIZE);
static enum cmit_fmt commit_format = CMIT_FMT_DEFAULT; static enum cmit_fmt commit_format = CMIT_FMT_DEFAULT;
int abbrev = DEFAULT_ABBREV; int abbrev = DEFAULT_ABBREV;
int show_parents = 0;
const char *commit_prefix = "commit "; const char *commit_prefix = "commit ";
argc = setup_revisions(argc, argv, &rev, "HEAD"); argc = setup_revisions(argc, argv, &rev, "HEAD");
...@@ -294,9 +293,6 @@ static int cmd_log(int argc, const char **argv, char **envp) ...@@ -294,9 +293,6 @@ static int cmd_log(int argc, const char **argv, char **envp)
if (commit_format == CMIT_FMT_ONELINE) if (commit_format == CMIT_FMT_ONELINE)
commit_prefix = ""; commit_prefix = "";
} }
else if (!strcmp(arg, "--parents")) {
show_parents = 1;
}
else if (!strcmp(arg, "--no-abbrev")) { else if (!strcmp(arg, "--no-abbrev")) {
abbrev = 0; abbrev = 0;
} }
...@@ -317,7 +313,7 @@ static int cmd_log(int argc, const char **argv, char **envp) ...@@ -317,7 +313,7 @@ static int cmd_log(int argc, const char **argv, char **envp)
while ((commit = get_revision(&rev)) != NULL) { while ((commit = get_revision(&rev)) != NULL) {
printf("%s%s", commit_prefix, printf("%s%s", commit_prefix,
sha1_to_hex(commit->object.sha1)); sha1_to_hex(commit->object.sha1));
if (show_parents) { if (rev.parents) {
struct commit_list *parents = commit->parents; struct commit_list *parents = commit->parents;
while (parents) { while (parents) {
struct object *o = &(parents->item->object); struct object *o = &(parents->item->object);
......
...@@ -39,7 +39,6 @@ struct rev_info revs; ...@@ -39,7 +39,6 @@ struct rev_info revs;
static int bisect_list = 0; static int bisect_list = 0;
static int verbose_header = 0; static int verbose_header = 0;
static int abbrev = DEFAULT_ABBREV; static int abbrev = DEFAULT_ABBREV;
static int show_parents = 0;
static int show_timestamp = 0; static int show_timestamp = 0;
static int hdr_termination = 0; static int hdr_termination = 0;
static const char *commit_prefix = ""; static const char *commit_prefix = "";
...@@ -54,7 +53,7 @@ static void show_commit(struct commit *commit) ...@@ -54,7 +53,7 @@ static void show_commit(struct commit *commit)
if (commit->object.flags & BOUNDARY) if (commit->object.flags & BOUNDARY)
putchar('-'); putchar('-');
fputs(sha1_to_hex(commit->object.sha1), stdout); fputs(sha1_to_hex(commit->object.sha1), stdout);
if (show_parents) { if (revs.parents) {
struct commit_list *parents = commit->parents; struct commit_list *parents = commit->parents;
while (parents) { while (parents) {
struct object *o = &(parents->item->object); struct object *o = &(parents->item->object);
...@@ -338,10 +337,6 @@ int main(int argc, const char **argv) ...@@ -338,10 +337,6 @@ int main(int argc, const char **argv)
commit_prefix = "commit "; commit_prefix = "commit ";
continue; continue;
} }
if (!strcmp(arg, "--parents")) {
show_parents = 1;
continue;
}
if (!strcmp(arg, "--timestamp")) { if (!strcmp(arg, "--timestamp")) {
show_timestamp = 1; show_timestamp = 1;
continue; continue;
......
...@@ -605,6 +605,10 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch ...@@ -605,6 +605,10 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
revs->limited = 1; revs->limited = 1;
continue; continue;
} }
if (!strcmp(arg, "--parents")) {
revs->parents = 1;
continue;
}
if (!strcmp(arg, "--dense")) { if (!strcmp(arg, "--dense")) {
revs->dense = 1; revs->dense = 1;
continue; continue;
......
...@@ -34,7 +34,8 @@ struct rev_info { ...@@ -34,7 +34,8 @@ struct rev_info {
edge_hint:1, edge_hint:1,
limited:1, limited:1,
unpacked:1, unpacked:1,
boundary:1; boundary:1,
parents:1;
/* special limits */ /* special limits */
int max_count; int max_count;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册