describe: match pattern for lightweight tags too
[gitweb.git] / builtin-remote.c
index 9c15173032f8566539a10b93074e15d493dd17d7..4149f3b3ce4bed091200fdff539e459aa39fb06d 100644 (file)
@@ -88,19 +88,24 @@ static int add(int argc, const char **argv)
        strbuf_init(&buf, 0);
        strbuf_init(&buf2, 0);
 
+       strbuf_addf(&buf2, "refs/heads/test:refs/remotes/%s/test", name);
+       if (!valid_fetch_refspec(buf2.buf))
+               die("'%s' is not a valid remote name", name);
+
        strbuf_addf(&buf, "remote.%s.url", name);
        if (git_config_set(buf.buf, url))
                return 1;
 
+       strbuf_reset(&buf);
+       strbuf_addf(&buf, "remote.%s.fetch", name);
+
        if (track.nr == 0)
                path_list_append("*", &track);
        for (i = 0; i < track.nr; i++) {
                struct path_list_item *item = track.items + i;
 
-               strbuf_reset(&buf);
-               strbuf_addf(&buf, "remote.%s.fetch", name);
-
                strbuf_reset(&buf2);
+               strbuf_addch(&buf2, '+');
                if (mirror)
                        strbuf_addf(&buf2, "refs/%s:refs/%s",
                                        item->path, item->path);
@@ -472,6 +477,7 @@ static int show_or_prune(int argc, const char **argv, int prune)
                                        spec->dst ? ":" : "",
                                        skip_prefix(spec->dst, "refs/heads/"));
                        }
+                       printf("\n");
                }
 cleanup_states:
                /* NEEDSWORK: free remote */