summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-07-21 15:03:38 -0700
committerJunio C Hamano <gitster@pobox.com>2017-07-21 15:03:38 -0700
commitbdea5bae226f92727be0e9fc4603099030e6496d (patch)
tree8e04ba392f22b9442d70690f405e2c4f6781a7b7
parentba1c08942c9aa50c4fe205c90caa6d8c0cab6636 (diff)
parent643df7e234dda47a4748311361a82df5415b7bc1 (diff)
downloadgit-bdea5bae226f92727be0e9fc4603099030e6496d.tar.gz
Merge branch 'js/alias-case-sensitivity' into maint
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
-rw-r--r--alias.c2
-rwxr-xr-xt/t1300-repo-config.sh7
2 files changed, 8 insertions, 1 deletions
diff --git a/alias.c b/alias.c
index 0526304661..caa88e047c 100644
--- 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;
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index a37ef04222..364a537000 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -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 &&