diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-30 19:30:07 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-30 19:30:07 -0700 |
commit | 97658004c311c54e2e4755dc545a9da261bd1441 (patch) | |
tree | 98b7bcb9b879bba7de6eb64a1412563632ca224d /rev-list.c | |
parent | 8906300f65a3b0c3e061af9d2c7ba48fedfa26a4 (diff) | |
download | git-97658004c311c54e2e4755dc545a9da261bd1441.tar.gz |
git-rev-list: add "--parents" command line flag
It makes rev-list show the list of parents, the same
way git-rev-tree does (but without the expense).
Diffstat (limited to 'rev-list.c')
-rw-r--r-- | rev-list.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/rev-list.c b/rev-list.c index cb1de39f6e..6f76b9dd52 100644 --- a/rev-list.c +++ b/rev-list.c @@ -41,7 +41,7 @@ int main(int argc, char **argv) unsigned char sha1[2][20]; struct commit_list *list = NULL; struct commit *commit, *end; - int i, verbose_header = 0; + int i, verbose_header = 0, show_parents = 0; unsigned long max_age = -1; unsigned long min_age = -1; int max_count = -1; @@ -66,6 +66,10 @@ int main(int argc, char **argv) verbose_header = 1; continue; } + if (!strcmp(arg, "--parents")) { + show_parents = 1; + continue; + } if (nr_sha > 2 || get_sha1(arg, sha1[nr_sha])) usage(rev_list_usage); @@ -116,7 +120,15 @@ int main(int argc, char **argv) break; if (max_count != -1 && !max_count--) break; - printf("%s\n", sha1_to_hex(commit->object.sha1)); + printf("%s", sha1_to_hex(commit->object.sha1)); + if (show_parents) { + struct commit_list *parents = commit->parents; + while (parents) { + printf(" %s", sha1_to_hex(parents->item->object.sha1)); + parents = parents->next; + } + } + putchar('\n'); if (verbose_header) printf("%s%c", commit->buffer, 0); } |