Skip to content

Commit

Permalink
builtin-remote: Make "remote -v" display push urls
Browse files Browse the repository at this point in the history
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 "one" having one url, "two" two urls, "three" one url and
one pushurl:

one     hostone.com:/somepath/repoone.git (fetch)
one     hostone.com:/somepath/repoone.git (push)
three   http://hostthree.com/otherpath/repothree.git (fetch)
three   hostthree.com:/pathforpushes/repothree.git (push)
two     hosttwo.com:/somepath/repotwo.git (fetch)
two     hosttwo.com:/somepath/repotwo.git (push)
two     hosttwobackup.com:/somewheresafe/repotwo.git (push)

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michael J Gruber authored and Junio C Hamano committed Jun 13, 2009
1 parent 857f8c3 commit 4a4b4cd
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions builtin-remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -1279,22 +1279,42 @@ 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)");
} 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++)
{
utilp = &(string_list_append(remote->name, list)->util);
*utilp = malloc(strlen(url[i])+strlen(" (push)")+1);
strcpy((char *) *utilp, url[i]);
strcat((char *) *utilp, " (push)");
}

return 0;
}

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;
Expand All @@ -1312,6 +1332,7 @@ static int show_all(void)
}
}
}
string_list_clear(&list, 1);
return result;
}

Expand Down

0 comments on commit 4a4b4cd

Please sign in to comment.