Patch meant to be squashed into the core.attributesfile. * attributes_file won't be set unless one calls git_config before => do this. * There was a useless xstrdup/free in the code. * This really deserves a test, so I added one in t0003-attributes.sh. (I've been too lazy to check the system-wide attributes file, though) Signed-off-by: Matthieu Moy <Matthieu.Moy@xxxxxxx> --- attr.c | 6 ++---- t/t0003-attributes.sh | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/attr.c b/attr.c index 068e13b..342791a 100644 --- a/attr.c +++ b/attr.c @@ -500,11 +500,9 @@ static void bootstrap_attr_stack(void) } } + git_config(git_default_config, NULL); if (git_attr_global() && attributes_file) { - char *user_attr = xstrdup(attributes_file); - - elem = read_attr_from_file(user_attr, 1); - free(user_attr); + elem = read_attr_from_file(attributes_file, 1); if (elem) { elem->origin = NULL; elem->prev = attr_stack; diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh index de38c7f..24286e5 100755 --- a/t/t0003-attributes.sh +++ b/t/t0003-attributes.sh @@ -15,6 +15,7 @@ attr_check () { } +HOME=$(pwd) test_expect_success 'setup' ' @@ -36,6 +37,9 @@ test_expect_success 'setup' ' echo "d/* test=a/b/d/*" echo "d/yes notest" ) >a/b/.gitattributes + ( + echo "global test=global" + ) >$HOME/global-gitattributes ' @@ -57,6 +61,16 @@ test_expect_success 'attribute test' ' ' +test_expect_success 'core.attributesfile' ' + attr_check global unspecified && + git config core.attributesfile "$HOME/global-gitattributes" && + attr_check global global && + git config core.attributesfile "~/global-gitattributes" && + attr_check global global && + echo "global test=precedence" >> .gitattributes && + attr_check global precedence +' + test_expect_success 'attribute test: read paths from stdin' ' cat <<EOF > expect -- 1.7.2.2.175.ga619d.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html