rev-list --boundary

With the new --boundary flag, the output from rev-list includes
the UNINTERESING commits at the boundary, which are usually not
shown.  Their object names are prefixed with '-'.

For example, with this graph:

              C side
             /
	A---B---D master

You would get something like this:

	$ git rev-list --boundary --header --parents side..master
	D B
        tree D^{tree}
        parent B
        ... log message for commit D here ...
        \0-B A
        tree B^{tree}
        parent A
        ... log message for commit B here ...
        \0

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano
2006-03-27 23:58:34 -08:00
parent 9181ca2c2b
commit 384e99a4a9
3 changed files with 51 additions and 7 deletions

View File

@ -7,9 +7,9 @@
#include "diff.h"
#include "revision.h"
/* bits #0-4 in revision.h */
/* bits #0-5 in revision.h */
#define COUNTED (1u<<5)
#define COUNTED (1u<<6)
static const char rev_list_usage[] =
"git-rev-list [OPTION] <commit-id>... [ -- paths... ]\n"
@ -51,6 +51,8 @@ static void show_commit(struct commit *commit)
printf("%lu ", commit->date);
if (commit_prefix[0])
fputs(commit_prefix, stdout);
if (commit->object.flags & BOUNDARY)
putchar('-');
fputs(sha1_to_hex(commit->object.sha1), stdout);
if (show_parents) {
struct commit_list *parents = commit->parents;