From: Junio C Hamano Date: Thu, 2 Jul 2009 02:40:54 +0000 (-0700) Subject: Merge branch 'cf/maint-remote-uploadpack-useconfig-fix' X-Git-Tag: v1.6.4-rc0~26 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/59773c7e583b1dcf4b63c4ee222b79cef460456b?ds=inline;hp=-c Merge branch 'cf/maint-remote-uploadpack-useconfig-fix' * cf/maint-remote-uploadpack-useconfig-fix: git-remote: fix missing .uploadpack usage for show command --- 59773c7e583b1dcf4b63c4ee222b79cef460456b diff --combined builtin-remote.c index 2fb76d32f8,7685cfcaf0..008abfe092 --- a/builtin-remote.c +++ b/builtin-remote.c @@@ -79,8 -79,7 +79,8 @@@ static int add(int argc, const char **a OPT_END() }; - argc = parse_options(argc, argv, options, builtin_remote_usage, 0); + argc = parse_options(argc, argv, NULL, options, builtin_remote_usage, + 0); if (argc < 2) usage_with_options(builtin_remote_usage, options); @@@ -295,14 -294,17 +295,14 @@@ static int get_push_ref_states(const st struct ref_states *states) { struct remote *remote = states->remote; - struct ref *ref, *local_refs, *push_map, **push_tail; + struct ref *ref, *local_refs, *push_map; if (remote->mirror) return 0; local_refs = get_local_heads(); push_map = copy_ref_list(remote_refs); - push_tail = &push_map; - while (*push_tail) - push_tail = &((*push_tail)->next); - match_refs(local_refs, push_map, &push_tail, remote->push_refspec_nr, + match_refs(local_refs, &push_map, remote->push_refspec_nr, remote->push_refspec, MATCH_REFS_NONE); states->push.strdup_strings = 1; @@@ -740,7 -742,7 +740,7 @@@ static int rm(int argc, const char **ar return result; } -void clear_push_info(void *util, const char *string) +static void clear_push_info(void *util, const char *string) { struct push_info *info = util; free(info->dest); @@@ -787,7 -789,7 +787,7 @@@ static int get_remote_ref_states(const read_branches(); if (query) { - transport = transport_get(NULL, states->remote->url_nr > 0 ? + transport = transport_get(states->remote, states->remote->url_nr > 0 ? states->remote->url[0] : NULL); remote_refs = transport_get_remote_refs(transport); transport_disconnect(transport); @@@ -815,7 -817,7 +815,7 @@@ struct show_info int any_rebase; }; -int add_remote_to_show_info(struct string_list_item *item, void *cb_data) +static int add_remote_to_show_info(struct string_list_item *item, void *cb_data) { struct show_info *info = cb_data; int n = strlen(item->string); @@@ -825,7 -827,7 +825,7 @@@ return 0; } -int show_remote_info_item(struct string_list_item *item, void *cb_data) +static int show_remote_info_item(struct string_list_item *item, void *cb_data) { struct show_info *info = cb_data; struct ref_states *states = info->states; @@@ -852,7 -854,7 +852,7 @@@ return 0; } -int add_local_to_show_info(struct string_list_item *branch_item, void *cb_data) +static int add_local_to_show_info(struct string_list_item *branch_item, void *cb_data) { struct show_info *show_info = cb_data; struct ref_states *states = show_info->states; @@@ -874,7 -876,7 +874,7 @@@ return 0; } -int show_local_info_item(struct string_list_item *item, void *cb_data) +static int show_local_info_item(struct string_list_item *item, void *cb_data) { struct show_info *show_info = cb_data; struct branch_info *branch_info = item->util; @@@ -906,7 -908,7 +906,7 @@@ return 0; } -int add_push_to_show_info(struct string_list_item *push_item, void *cb_data) +static int add_push_to_show_info(struct string_list_item *push_item, void *cb_data) { struct show_info *show_info = cb_data; struct push_info *push_info = push_item->util; @@@ -935,7 -937,7 +935,7 @@@ static int cmp_string_with_push(const v return cmp ? cmp : strcmp(a_push->dest, b_push->dest); } -int show_push_info_item(struct string_list_item *item, void *cb_data) +static int show_push_info_item(struct string_list_item *item, void *cb_data) { struct show_info *show_info = cb_data; struct push_info *push_info = item->util; @@@ -984,8 -986,7 +984,8 @@@ static int show(int argc, const char ** struct string_list info_list = { NULL, 0, 0, 0 }; struct show_info info; - argc = parse_options(argc, argv, options, builtin_remote_usage, 0); + argc = parse_options(argc, argv, NULL, options, builtin_remote_usage, + 0); if (argc < 1) return show_all(); @@@ -999,25 -1000,15 +999,25 @@@ info.list = &info_list; for (; argc; argc--, argv++) { int i; + const char **url; + int url_nr; get_remote_ref_states(*argv, &states, query_flag); printf("* remote %s\n", *argv); - if (states.remote->url_nr) { - for (i=0; i < states.remote->url_nr; i++) - printf(" URL: %s\n", states.remote->url[i]); - } else - printf(" URL: %s\n", "(no URL)"); + printf(" Fetch URL: %s\n", states.remote->url_nr > 0 ? + states.remote->url[0] : "(no URL)"); + if (states.remote->pushurl_nr) { + url = states.remote->pushurl; + url_nr = states.remote->pushurl_nr; + } else { + url = states.remote->url; + url_nr = states.remote->url_nr; + } + for (i=0; i < url_nr; i++) + printf(" Push URL: %s\n", url[i]); + if (!i) + printf(" Push URL: %s\n", "(no URL)"); if (no_query) printf(" HEAD branch: (not queried)\n"); else if (!states.heads.nr) @@@ -1088,8 -1079,7 +1088,8 @@@ static int set_head(int argc, const cha "delete refs/remotes//HEAD"), OPT_END() }; - argc = parse_options(argc, argv, options, builtin_remote_usage, 0); + argc = parse_options(argc, argv, NULL, options, builtin_remote_usage, + 0); if (argc) strbuf_addf(&buf, "refs/remotes/%s/HEAD", argv[0]); @@@ -1143,8 -1133,7 +1143,8 @@@ static int prune(int argc, const char * OPT_END() }; - argc = parse_options(argc, argv, options, builtin_remote_usage, 0); + argc = parse_options(argc, argv, NULL, options, builtin_remote_usage, + 0); if (argc < 1) usage_with_options(builtin_remote_usage, options); @@@ -1197,7 -1186,7 +1197,7 @@@ static int get_one_remote_for_update(st return 0; } -struct remote_group { +static struct remote_group { const char *name; struct string_list *list; } remote_group; @@@ -1234,7 -1223,7 +1234,7 @@@ static int update(int argc, const char OPT_END() }; - argc = parse_options(argc, argv, options, builtin_remote_usage, + argc = parse_options(argc, argv, NULL, options, builtin_remote_usage, PARSE_OPT_KEEP_ARGV0); if (argc < 2) { argc = 2; @@@ -1276,29 -1265,14 +1276,29 @@@ 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; if (remote->url_nr > 0) { - int i; - - for (i = 0; i < remote->url_nr; i++) - string_list_append(remote->name, list)->util = (void *)remote->url[i]; + strbuf_addf(&url_buf, "%s (fetch)", remote->url[0]); + string_list_append(remote->name, list)->util = + strbuf_detach(&url_buf, NULL); } else string_list_append(remote->name, list)->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++) + { + strbuf_addf(&url_buf, "%s (push)", url[i]); + string_list_append(remote->name, list)->util = + strbuf_detach(&url_buf, NULL); + } return 0; } @@@ -1306,10 -1280,7 +1306,10 @@@ static int show_all(void) { struct string_list list = { NULL, 0, 0 }; - int result = for_each_remote(get_one_entry, &list); + int result; + + list.strdup_strings = 1; + result = for_each_remote(get_one_entry, &list); if (!result) { int i; @@@ -1327,7 -1298,6 +1327,7 @@@ } } } + string_list_clear(&list, 1); return result; } @@@ -1339,7 -1309,7 +1339,7 @@@ int cmd_remote(int argc, const char **a }; int result; - argc = parse_options(argc, argv, options, builtin_remote_usage, + argc = parse_options(argc, argv, prefix, options, builtin_remote_usage, PARSE_OPT_STOP_AT_NON_OPTION); if (argc < 1)