Re: [PATCH 5/5] builtin-remote: Make "remote -v" display push urls
From: Bert Wesarg <hidden>
Date: 2016-06-15 22:46:55
Hi, On Tue, Jun 9, 2009 at 18:01, Michael J Gruber[off-list ref] wrote:
Currently, "remote -v" simply lists all urls so that one has to remember that only the first one is used for fetches, and all are used for pushes. Change this so that the role of an url is displayed in parentheses, and also display push urls. Example with "mjg" having 1 url and 1 pushurl, "origin" having 3 urls, sb having 1 url: mjg git://repo.or.cz/git/mjg.git (fetch) mjg repoor:/srv/git/git/mjg.git (push) origin git://repo.or.cz/git.git (fetch) origin git://repo.or.cz/git.git (push) origin git://git2.kernel.org/pub/scm/git/git.git (push) origin git://repo.or.cz/alt-git.git (push) sb git://repo.or.cz/git/sbeyer.git (fetch) sb git://repo.or.cz/git/sbeyer.git (push)
Wouldn't it be more readable if push|fetch comes first? mjg (fetch) git://repo.or.cz/git/mjg.git mjg (push) repoor:/srv/git/git/mjg.git origin (fetch) git://repo.or.cz/git.git origin (push) git://repo.or.cz/git.git origin (push) git://git2.kernel.org/pub/scm/git/git.git origin (push) git://repo.or.cz/alt-git.git sb (fetch) git://repo.or.cz/git/sbeyer.git sb (push) git://repo.or.cz/git/sbeyer.git And how about to print only one line for (url_nr == 1 && pushurl_nr == 0): mjg (fetch) git://repo.or.cz/git/mjg.git mjg (push) repoor:/srv/git/git/mjg.git origin (fetch) git://repo.or.cz/git.git origin (push) git://repo.or.cz/git.git origin (push) git://git2.kernel.org/pub/scm/git/git.git origin (push) git://repo.or.cz/alt-git.git sb git://repo.or.cz/git/sbeyer.git
quoted hunk ↗ jump to hunk
Signed-off-by: Michael J Gruber <redacted> --- builtin-remote.c | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-)diff --git a/builtin-remote.c b/builtin-remote.c index b350b18..80b2536 100644 --- a/builtin-remote.c +++ b/builtin-remote.c@@ -1276,14 +1276,31 @@ static int update(int argc, const char **argv)static int get_one_entry(struct remote *remote, void *priv) { struct string_list *list = priv; + const char **url; + int i, url_nr; + void **utilp; 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]; + utilp = &(string_list_append(remote->name, list)->util); + *utilp = malloc(strlen(remote->url[0])+strlen(" (fetch)")+1); + strcpy((char *) *utilp, remote->url[0]); + strcat((char *) *utilp, " (fetch)");
How about using struct strbuf? Bert