aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-04-03 23:01:47 -0700
committerJunio C Hamano <gitster@pobox.com>2008-04-12 19:41:29 -0700
commit72276a3ecbe6353b83ab37e0ce96cc21c94cf6ee (patch)
tree87d9c431a6565ebb4682069d74ee675fc981f357
parentf35f5603f4f07c939754743b2a6cf61bb3a4694e (diff)
downloadgit-72276a3ecbe6353b83ab37e0ce96cc21c94cf6ee.tar.gz
git-72276a3ecbe6353b83ab37e0ce96cc21c94cf6ee.tar.xz
rev-list --children
Just like --parents option shows the parents of commits, this shows the children of commits. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/rev-list-options.txt4
-rw-r--r--builtin-rev-list.c10
2 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 2648a5508..e5823950e 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -42,6 +42,10 @@ format, often found in E-mail messages.
Print the parents of the commit.
+--children::
+
+ Print the children of the commit.
+
--timestamp::
Print the raw commit timestamp.
diff --git a/builtin-rev-list.c b/builtin-rev-list.c
index edc0bd35b..9da2f7637 100644
--- a/builtin-rev-list.c
+++ b/builtin-rev-list.c
@@ -36,6 +36,7 @@ static const char rev_list_usage[] =
" --reverse\n"
" formatting output:\n"
" --parents\n"
+" --children\n"
" --objects | --objects-edge\n"
" --unpacked\n"
" --header | --pretty\n"
@@ -84,6 +85,15 @@ static void show_commit(struct commit *commit)
parents = parents->next;
}
}
+ if (revs.children.name) {
+ struct commit_list *children;
+
+ children = lookup_decoration(&revs.children, &commit->object);
+ while (children) {
+ printf(" %s", sha1_to_hex(children->item->object.sha1));
+ children = children->next;
+ }
+ }
show_decorations(commit);
if (revs.commit_format == CMIT_FMT_ONELINE)
putchar(' ');