summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: efa5480)
raw | patch | inline | side by side (parent: efa5480)
author | Finn Arne Gangstad <finnag@pvv.org> | |
Mon, 6 Apr 2009 13:41:00 +0000 (15:41 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 8 Apr 2009 04:51:19 +0000 (21:51 -0700) |
Previosly, git remote update <non-existing-group> would just silently fail
and do nothing. Now it will report an error saying that the group does
not exist.
Signed-off-by: Finn Arne Gangstad <finnag@pvv.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
and do nothing. Now it will report an error saying that the group does
not exist.
Signed-off-by: Finn Arne Gangstad <finnag@pvv.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-remote.c | patch | blob | history |
diff --git a/builtin-remote.c b/builtin-remote.c
index 3146eb467d2c179867bfbcf12b690d07468c0534..51df99ba930c47c1163cdc3399f27d2a69c29a93 100644 (file)
--- a/builtin-remote.c
+++ b/builtin-remote.c
struct string_list *list;
} remote_group;
-static int get_remote_group(const char *key, const char *value, void *cb)
+static int get_remote_group(const char *key, const char *value, void *num_hits)
{
if (!prefixcmp(key, "remotes.") &&
!strcmp(key + 8, remote_group.name)) {
/* split list by white space */
int space = strcspn(value, " \t\n");
while (*value) {
- if (space > 1)
+ if (space > 1) {
string_list_append(xstrndup(value, space),
remote_group.list);
+ ++*((int *)num_hits);
+ }
value += space + (value[space] != '\0');
space = strcspn(value, " \t\n");
}
remote_group.list = &list;
for (i = 1; i < argc; i++) {
+ int groups_found = 0;
remote_group.name = argv[i];
- result = git_config(get_remote_group, NULL);
+ result = git_config(get_remote_group, &groups_found);
+ if (!groups_found && (i != 1 || strcmp(argv[1], "default")))
+ die("No such remote group: '%s'", argv[i]);
}
if (!result && !list.nr && argc == 2 && !strcmp(argv[1], "default"))