X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=name-rev.c;h=0c3f547622245a2bc8984498289e86f89f87c362;hb=5b5d4d9e1b31997b3179e6a253d47b7eea03d0fa;hp=65333d4166da845d8594d2dc397c0026eebe2421;hpb=f2e6f1c9763f65918211ed28caf77a40effa4e7e;p=git.git diff --git a/name-rev.c b/name-rev.c index 65333d41..0c3f5476 100644 --- a/name-rev.c +++ b/name-rev.c @@ -93,10 +93,11 @@ static int name_ref(const char *path, const unsigned char *sha1) } if (o && o->type == commit_type) { struct commit *commit = (struct commit *)o; - const char *p; - while ((p = strchr(path, '/'))) - path = p+1; + if (!strncmp(path, "refs/heads/", 11)) + path = path + 11; + else if (!strncmp(path, "refs/", 5)) + path = path + 5; name_rev(commit, strdup(path), 0, 0, deref); } @@ -231,9 +232,10 @@ int main(int argc, char **argv) } else if (all) { int i; - for (i = 0; i < nr_objs; i++) - printf("%s %s\n", sha1_to_hex(objs[i]->sha1), - get_rev_name(objs[i])); + for (i = 0; i < obj_allocs; i++) + if (objs[i]) + printf("%s %s\n", sha1_to_hex(objs[i]->sha1), + get_rev_name(objs[i])); } else for ( ; revs; revs = revs->next) printf("%s %s\n", revs->name, get_rev_name(revs->item));