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: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Linus Torvalds 2006-03-30 16:52:42 -08:00 коммит произвёл Junio C Hamano
Родитель 8eef8e09ce
Коммит 7b0c996679
4 изменённых файлов: 8 добавлений и 12 удалений

6
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);

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

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

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

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

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

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