Previous rounds are at $gmane/286214 and $gmane/286278.  Thanks to
Peff and Eric for the reviews on the previous round.

This version changes two checks in [1/4], and uses test_config in the
tests instead of calling git config directly.

Interdiff below:

diff --git a/remote.c b/remote.c
index d10ae00..f001681 100644
--- a/remote.c
+++ b/remote.c
@@ -358,17 +358,17 @@ static int handle_config(const char *key, const char 
*value, void *cb)
                return 0;
 
        /* Handle remote.* variables */
-       if (!strcmp(subkey, "pushdefault"))
+       if (!name && !strcmp(subkey, "pushdefault"))
                return git_config_string(&pushremote_name, key, value);
 
+       if (!name)
+               return 0;
        /* Handle remote.<name>.* variables */
-       if (*(name ? name : subkey) == '/') {
+       if (*name == '/') {
                warning("Config remote shorthand cannot begin with '/': %s",
-                       name ? name : subkey);
+                       name);
                return 0;
        }
-       if (!name)
-               return 0;
        remote = make_remote(name, namelen);
        remote->origin = REMOTE_CONFIG;
        if (!strcmp(subkey, "mirror"))
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index 142ae62..94079a0 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -158,18 +158,15 @@ test_expect_success 'rename errors out early when 
deleting non-existent branch'
 '
 
 test_expect_success 'add existing foreign_vcs remote' '
-       git config --add remote.foo.vcs "bar" &&
-       test_when_finished git remote rm foo &&
+       test_config remote.foo.vcs bar &&
        echo "fatal: remote foo already exists." >expect &&
        test_must_fail git remote add foo bar 2>actual &&
        test_i18ncmp expect actual
 '
 
 test_expect_success 'add existing foreign_vcs remote' '
-       git config --add remote.foo.vcs "bar" &&
-       git config --add remote.bar.vcs "bar" &&
-       test_when_finished git remote rm foo &&
-       test_when_finished git remote rm bar &&
+       test_config remote.foo.vcs bar &&
+       test_config remote.bar.vcs bar &&
        echo "fatal: remote bar already exists." >expect &&
        test_must_fail git remote rename foo bar 2>actual &&
        test_i18ncmp expect actual


Thomas Gummerer (4):
  remote: use parse_config_key
  remote: simplify remote_is_configured()
  remote: actually check if remote exits
  remote: use remote_is_configured() for add and rename

 builtin/fetch.c   |  5 ++--
 builtin/remote.c  | 23 +++++++---------
 remote.c          | 82 +++++++++++++++++++++++--------------------------------
 remote.h          |  3 +-
 t/t5505-remote.sh | 33 ++++++++++++++++++++++
 5 files changed, 81 insertions(+), 65 deletions(-)

-- 
2.7.1.410.g6faf27b

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to