Hi, On Tue, Jun 9, 2009 at 18:01, Michael J Gruber<git@xxxxxxxxxxxxxxxxxxxx> 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 <git@xxxxxxxxxxxxxxxxxxxx> > --- > 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 -- 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