The current output of "git remote -v" does not distinguish between explicitly configured push URLs and those coming from fetch lines. Revise the output so so that URLs are distinguished by their labels: (fetch): fetch config used for fetching only (fetch/push): fetch config used for fetching and pushing (fetch fallback/push): fetch config used for pushing only (fetch fallback): fetch config which is unused (push): push config used for pushing Signed-off-by: Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> --- Maybe something like this? It even seems to make the code in get_one_entry clearer. I yet have to look at the tests, doc and other git-remote invocations. builtin/remote.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/builtin/remote.c b/builtin/remote.c index 937484d..ec07109 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -1509,25 +1509,28 @@ static int get_one_entry(struct remote *remote, void *priv) { struct string_list *list = priv; struct strbuf url_buf = STRBUF_INIT; - const char **url; - int i, url_nr; + char *fetchurl0, *fetchurl1; + int i; + + if (remote->pushurl_nr > 0) { + fetchurl0 = "fetch"; + fetchurl1 = "fetch fallback"; + } else { + fetchurl0 = "fetch/push"; + fetchurl1 = "fetch fallback/push"; + } - if (remote->url_nr > 0) { - strbuf_addf(&url_buf, "%s (fetch)", remote->url[0]); + for (i = 0; i < remote->url_nr; i++) { + strbuf_addf(&url_buf, "%s (%s)", remote->url[0], i ? fetchurl1 : fetchurl0); string_list_append(list, remote->name)->util = strbuf_detach(&url_buf, NULL); - } else + } /* else */ + if (remote->url_nr == 0) string_list_append(list, remote->name)->util = NULL; - if (remote->pushurl_nr) { - url = remote->pushurl; - url_nr = remote->pushurl_nr; - } else { - url = remote->url; - url_nr = remote->url_nr; - } - for (i = 0; i < url_nr; i++) + + for (i = 0; i < remote->pushurl_nr; i++) { - strbuf_addf(&url_buf, "%s (push)", url[i]); + strbuf_addf(&url_buf, "%s (push)", remote->pushurl[i]); string_list_append(list, remote->name)->util = strbuf_detach(&url_buf, NULL); } -- 1.8.1.1.456.g93e7b0a -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html