Code

sample commit-msg hook: no silent exit on duplicate Signed-off-by lines
[git.git] / name-rev.c
index 3a5ac35d163bae5431c9cad8c9e31918c2734241..f92f14e32f647527e8bf49fced6c632be7298985 100644 (file)
@@ -5,7 +5,7 @@
 #include "refs.h"
 
 static const char name_rev_usage[] =
-       "git-name-rev [--tags] ( --all | --stdin | commitish [commitish...] )\n";
+       "git-name-rev [--tags] ( --all | --stdin | committish [committish...] )\n";
 
 typedef struct rev_name {
        const char *tip_name;
@@ -84,14 +84,14 @@ static int name_ref(const char *path, const unsigned char *sha1)
        if (tags_only && strncmp(path, "refs/tags/", 10))
                return 0;
 
-       while (o && o->type == TYPE_TAG) {
+       while (o && o->type == OBJ_TAG) {
                struct tag *t = (struct tag *) o;
                if (!t->tagged)
                        break; /* broken repository */
                o = parse_object(t->tagged->sha1);
                deref = 1;
        }
-       if (o && o->type == TYPE_COMMIT) {
+       if (o && o->type == OBJ_COMMIT) {
                struct commit *commit = (struct commit *)o;
 
                if (!strncmp(path, "refs/heads/", 11))
@@ -111,7 +111,7 @@ static const char* get_rev_name(struct object *o)
        struct rev_name *n;
        struct commit *c;
 
-       if (o->type != TYPE_COMMIT)
+       if (o->type != OBJ_COMMIT)
                return "undefined";
        c = (struct commit *) o;
        n = c->util;
@@ -172,7 +172,7 @@ int main(int argc, char **argv)
                }
 
                o = deref_tag(parse_object(sha1), *argv, 0);
-               if (!o || o->type != TYPE_COMMIT) {
+               if (!o || o->type != OBJ_COMMIT) {
                        fprintf(stderr, "Could not get commit for %s. Skipping.\n",
                                        *argv);
                        continue;
@@ -234,12 +234,15 @@ int main(int argc, char **argv)
                                fwrite(p_start, p - p_start, 1, stdout);
                }
        } else if (all) {
-               int i;
+               int i, max;
 
-               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]));
+               max = get_max_object_index();
+               for (i = 0; i < max; i++) {
+                       struct object * obj = get_indexed_object(i);
+                       if (!obj)
+                               continue;
+                       printf("%s %s\n", sha1_to_hex(obj->sha1), get_rev_name(obj));
+               }
        } else {
                int i;
                for (i = 0; i < revs.nr; i++)