From: Johannes Sixt <j6t@kdbg.org>
Date: Thu, 23 Apr 2009 13:49:05 +0000 (+0200)
Subject: remote.c: do not trigger remote.<name>.<var> codepath for two-level names
X-Git-Tag: v1.6.3-rc2~3
X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/cd294bc3f3a7b1277551a8c6e0682fdfbe794260?hp=178b513eb78ac8099588c5bed1f1f74f660cf009

remote.c: do not trigger remote.<name>.<var> codepath for two-level names

If the config file contains a section like this:

[remote]
default = foo

(it should be '[remotes]') then commands like

git status
git checkout
git branch -v

fail even though they are not obviously related to remotes. (These
commands write "ahead, behind" information and, therefore, access the
per-remote information).

Unknown configuration keys should be ignored, not trigger errors.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

diff --git a/remote.c b/remote.c
index 91f748550e..d66e2f3c93 100644
--- a/remote.c
+++ b/remote.c
@@ -366,7 +366,7 @@ static int handle_config(const char *key, const char *value, void *cb)
 	}
 	subkey = strrchr(name, '.');
 	if (!subkey)
-		return error("Config with no key for remote %s", name);
+		return 0;
 	remote = make_remote(name, subkey - name);
 	remote->origin = REMOTE_CONFIG;
 	if (!strcmp(subkey, ".mirror"))