1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-19 09:26:09 +02:00

cherry: split off function to print output lines

Readers uninterested in the details of "git cherry"'s output format
can see

	print_commit('-', commit, verbose, abbrev);

and ignore the details.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jonathan Nieder 2011-03-16 02:12:48 -05:00 committed by Junio C Hamano
parent 6e0332ec3e
commit a3a32e7f08

View File

@ -1352,6 +1352,23 @@ static const char * const cherry_usage[] = {
NULL
};
static void print_commit(char sign, struct commit *commit, int verbose,
int abbrev)
{
if (!verbose) {
printf("%c %s\n", sign,
find_unique_abbrev(commit->object.sha1, abbrev));
} else {
struct strbuf buf = STRBUF_INIT;
struct pretty_print_context ctx = {0};
pretty_print_commit(CMIT_FMT_ONELINE, commit, &buf, &ctx);
printf("%c %s %s\n", sign,
find_unique_abbrev(commit->object.sha1, abbrev),
buf.buf);
strbuf_release(&buf);
}
}
int cmd_cherry(int argc, const char **argv, const char *prefix)
{
struct rev_info revs;
@ -1436,22 +1453,7 @@ int cmd_cherry(int argc, const char **argv, const char *prefix)
commit = list->item;
if (has_commit_patch_id(commit, &ids))
sign = '-';
if (verbose) {
struct strbuf buf = STRBUF_INIT;
struct pretty_print_context ctx = {0};
pretty_print_commit(CMIT_FMT_ONELINE, commit,
&buf, &ctx);
printf("%c %s %s\n", sign,
find_unique_abbrev(commit->object.sha1, abbrev),
buf.buf);
strbuf_release(&buf);
}
else {
printf("%c %s\n", sign,
find_unique_abbrev(commit->object.sha1, abbrev));
}
print_commit(sign, commit, verbose, abbrev);
list = list->next;
}