X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-rev-parse.c;h=a7860ed75ac4a7b1895bfe088e34a39b24448f57;hb=f4022fa33f1b0a63029d1bc3748f01f720151218;hp=1d019b3c16a3ac5eae4c14921534f653fa9c71c1;hpb=ef90d6d4208a5130185b04f06e5f90a5f9959fe3;p=git.git diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c index 1d019b3c1..a7860ed75 100644 --- a/builtin-rev-parse.c +++ b/builtin-rev-parse.c @@ -94,6 +94,14 @@ static void show(const char *arg) puts(arg); } +/* Like show(), but with a negation prefix according to type */ +static void show_with_type(int type, const char *arg) +{ + if (type != show_type) + putchar('^'); + show(arg); +} + /* Output a revision, only if filter allows it */ static void show_rev(int type, const unsigned char *sha1, const char *name) { @@ -101,8 +109,6 @@ static void show_rev(int type, const unsigned char *sha1, const char *name) return; def = NULL; - if (type != show_type) - putchar('^'); if (symbolic && name) { if (symbolic == SHOW_SYMBOLIC_FULL) { unsigned char discard[20]; @@ -119,20 +125,20 @@ static void show_rev(int type, const unsigned char *sha1, const char *name) */ break; case 1: /* happy */ - show(full); + show_with_type(type, full); break; default: /* ambiguous */ error("refname '%s' is ambiguous", name); break; } } else { - show(name); + show_with_type(type, name); } } else if (abbrev) - show(find_unique_abbrev(sha1, abbrev)); + show_with_type(type, find_unique_abbrev(sha1, abbrev)); else - show(sha1_to_hex(sha1)); + show_with_type(type, sha1_to_hex(sha1)); } /* Output a flag, only if filter allows it. */