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:

committed by
Junio C Hamano

parent
6e0332ec3e
commit
a3a32e7f08
@ -1352,6 +1352,23 @@ static const char * const cherry_usage[] = {
|
|||||||
NULL
|
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)
|
int cmd_cherry(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
struct rev_info revs;
|
struct rev_info revs;
|
||||||
@ -1436,22 +1453,7 @@ int cmd_cherry(int argc, const char **argv, const char *prefix)
|
|||||||
commit = list->item;
|
commit = list->item;
|
||||||
if (has_commit_patch_id(commit, &ids))
|
if (has_commit_patch_id(commit, &ids))
|
||||||
sign = '-';
|
sign = '-';
|
||||||
|
print_commit(sign, commit, verbose, abbrev);
|
||||||
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));
|
|
||||||
}
|
|
||||||
|
|
||||||
list = list->next;
|
list = list->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user