git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/3] git remote update: Report error for non-existing groups

From
Finn Arne Gangstad <finnag@pvv.org>
Date
Apr 6, 2009, 13:41 UTC
Message-ID
<1239025262-16960-2-git-send-email-finnag@pvv.org>
In-Reply-To
<1239025262-16960-1-git-send-email-finnag@pvv.org>

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>
---
 builtin-remote.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/builtin-remote.c b/builtin-remote.c
index 3146eb4..51df99b 100644
--- a/builtin-remote.c
+++ b/builtin-remote.c
@@ -1188,16 +1188,18 @@ struct remote_group {
 	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");
 		}
@@ -1227,8 +1229,11 @@ static int update(int argc, const char **argv)
 
 	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"))
-- 
1.6.2.1.471.gdfdaa
Previous: Finn Arne GangstadNext: Junio C Hamano
Message 2 of 10 in “git remote update: Check args and fallback to remotes”
  1. 0/3 git remote update: Check args and fallback to remotesFinn Arne Gangstad, Apr 6, 2009
  2. 1/3 git remote update: Report error for non-existing groupsFinn Arne Gangstad, Apr 6, 2009
  3. Junio C HamanoApr 8, 2009
  4. Finn Arne GangstadApr 8, 2009
  5. Junio C HamanoApr 8, 2009
  6. Jeff KingApr 8, 2009
  7. Junio C HamanoApr 8, 2009
  8. 2/3 remote: New function remote_is_configured()Finn Arne Gangstad, Apr 6, 2009
  9. 3/3 git remote update: Fallback to remote if group does not existFinn Arne Gangstad, Apr 6, 2009
  10. Jeff KingApr 6, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.