X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-for-each-ref.c;h=21e92bbcb577c0361df51bd81e6fb5ab546619ea;hb=53b543ab8218cede7fb9383298c00dcef663692c;hp=07d9c572125523e2eb8f82e4cab907ee7dc94348;hpb=d0ab520a2599afdfd4d61894863984fc36842b12;p=git.git diff --git a/builtin-for-each-ref.c b/builtin-for-each-ref.c index 07d9c5721..21e92bbcb 100644 --- a/builtin-for-each-ref.c +++ b/builtin-for-each-ref.c @@ -234,6 +234,13 @@ static void grab_tag_values(struct atom_value *val, int deref, struct object *ob name++; if (!strcmp(name, "tag")) v->s = tag->tag; + else if (!strcmp(name, "type") && tag->tagged) + v->s = typename(tag->tagged->type); + else if (!strcmp(name, "object") && tag->tagged) { + char *s = xmalloc(41); + strcpy(s, sha1_to_hex(tag->tagged->sha1)); + v->s = s; + } } } @@ -452,8 +459,10 @@ static void find_subpos(const char *buf, unsigned long sz, const char **sub, con return; *sub = buf; /* first non-empty line */ buf = strchr(buf, '\n'); - if (!buf) + if (!buf) { + *body = ""; return; /* no body */ + } while (*buf == '\n') buf++; /* skip blank between subject and body */ *body = buf; @@ -643,7 +652,8 @@ static int grab_single_ref(const char *refname, const unsigned char *sha1, int f if ((plen <= namelen) && !strncmp(refname, p, plen) && (refname[plen] == '\0' || - refname[plen] == '/')) + refname[plen] == '/' || + p[plen-1] == '/')) break; if (!fnmatch(p, refname, FNM_PATHNAME)) break; @@ -802,7 +812,7 @@ static struct ref_sort *default_sort(void) return sort; } -int opt_parse_sort(const struct option *opt, const char *arg, int unset) +static int opt_parse_sort(const struct option *opt, const char *arg, int unset) { struct ref_sort **sort_tail = opt->value; struct ref_sort *s; @@ -824,7 +834,7 @@ int opt_parse_sort(const struct option *opt, const char *arg, int unset) } static char const * const for_each_ref_usage[] = { - "git-for-each-ref [options] []", + "git for-each-ref [options] []", NULL };