зеркало из https://github.com/microsoft/git.git
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:
Родитель
6e0332ec3e
Коммит
a3a32e7f08
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче