summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2017-07-14 10:39:38 +0200
committerJunio C Hamano <gitster@pobox.com>2017-07-17 14:00:12 -0700
commit643df7e234dda47a4748311361a82df5415b7bc1 (patch)
tree46d12d02e9e96cbcbc3a3e606a49b2132b7d883b
parent084b04409312e8d95aa51edb04dde7ff56f66fba (diff)
downloadgit-643df7e234dda47a4748311361a82df5415b7bc1.tar.gz
alias: compare alias name *case-insensitively*js/alias-case-sensitivity
It is totally legitimate to add CamelCased aliases, but due to the way config keys are compared, the case does not matter. Therefore, we must compare the alias name insensitively to the config keys. This fixes a regression introduced by a9bcf6586d1 (alias: use the early config machinery to expand aliases, 2017-06-14). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--alias.c2
-rwxr-xr-xt/t1300-repo-config.sh2
2 files changed, 2 insertions, 2 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 f22b611680..23312bee28 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -1075,7 +1075,7 @@ test_expect_success 'git -c works with aliases of builtins' '
test_cmp expect actual
'
-test_expect_failure 'aliases can be CamelCased' '
+test_expect_success 'aliases can be CamelCased' '
test_config alias.CamelCased "rev-parse HEAD" &&
git CamelCased >out &&
git rev-parse HEAD >expect &&