From: Bert Wesarg Date: Tue, 09 Jun 2009 16:25:41 GMT Subject: Re: [PATCH 5/5] builtin-remote: Make "remote -v" display push urls Message-ID: <36ca99e90906090925q71ed98f4j23336dabbe199bd8@mail.gmail.com> In-Reply-To: <1244563298-15479-6-git-send-email-git@drmicha.warpmail.net> Hi, On Tue, Jun 9, 2009 at 18:01, Michael J Gruber 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 > > Signed-off-by: Michael J Gruber > --- >  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