Merge branch 'js/alias-case-sensitivity' into maint
authorJunio C Hamano <gitster@pobox.com>
Fri, 21 Jul 2017 22:03:38 +0000 (15:03 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 21 Jul 2017 22:03:38 +0000 (15:03 -0700)
A recent update broke an alias that contained an uppercase letter.

* js/alias-case-sensitivity:
alias: compare alias name *case-insensitively*
t1300: demonstrate that CamelCased aliases regressed

alias.c
t/t1300-repo-config.sh
diff --git a/alias.c b/alias.c
index 05263046614e10945cb8d81ef3e42e0d5f2c9a2e..caa88e047c3ee1b9fbfdb7bf16bc9e5c74623a6f 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -10,7 +10,7 @@ static int config_alias_cb(const char *key, const char *value, void *d)
        struct config_alias_data *data = d;
        const char *p;
 
-       if (skip_prefix(key, "alias.", &p) && !strcmp(p, data->alias))
+       if (skip_prefix(key, "alias.", &p) && !strcasecmp(p, data->alias))
                return git_config_string((const char **)&data->v, key, value);
 
        return 0;
index a37ef0422212eafdae4b4c0fae9e28d4a183117f..364a537000bbbdd43047bd3f9c52c950a96dcbda 100755 (executable)
@@ -1075,6 +1075,13 @@ test_expect_success 'git -c works with aliases of builtins' '
        test_cmp expect actual
 '
 
+test_expect_success 'aliases can be CamelCased' '
+       test_config alias.CamelCased "rev-parse HEAD" &&
+       git CamelCased >out &&
+       git rev-parse HEAD >expect &&
+       test_cmp expect out
+'
+
 test_expect_success 'git -c does not split values on equals' '
        echo "value with = in it" >expect &&
        git -c core.foo="value with = in it" config core.foo >actual &&