Merge branch 'rs/rebase-checkout-not-so-quiet'
[gitweb.git] / builtin-describe.c
index df554b30af3ddcb4d0141838c06f82d433cbf3a4..62a19056ef05989b0b48d0939758a66175b3f442 100644 (file)
@@ -20,7 +20,7 @@ static int tags;      /* But allow any tags if --tags is specified */
 static int longformat;
 static int abbrev = DEFAULT_ABBREV;
 static int max_candidates = 10;
-const char *pattern = NULL;
+static const char *pattern;
 static int always;
 
 struct commit_name {
@@ -80,12 +80,13 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void
         * Otherwise only annotated tags are used.
         */
        if (might_be_tag) {
-               if (is_tag) {
+               if (is_tag)
                        prio = 2;
-                       if (pattern && fnmatch(pattern, path + 10, 0))
-                               prio = 0;
-               } else
+               else
                        prio = 1;
+
+               if (pattern && fnmatch(pattern, path + 10, 0))
+                       prio = 0;
        }
        else
                prio = 0;
@@ -203,7 +204,7 @@ static void describe(const char *arg, int last_one)
                 */
                display_name(n);
                if (longformat)
-                       show_suffix(0, n->tag->tagged->sha1);
+                       show_suffix(0, n->tag ? n->tag->tagged->sha1 : sha1);
                printf("\n");
                return;
        }