diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-05-30 05:16:43 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-05-30 05:16:44 +0300 |
commit | b784d0be5dc05f2146c1505d1adf637edba4b1bb (patch) | |
tree | 543ec519f90dc41e9825c079e11d072b3dddcaa7 /t | |
parent | 02c531eba2925d89856baca8dc6a9d1b31bc4d7f (diff) | |
parent | 0624c63ce6a488d3d8bccc4b1e79cc2093e2c4a4 (diff) |
Merge branch 'ab/conditional-config-with-symlinks'
The recently introduced "[includeIf "gitdir:$dir"] path=..."
mechansim has further been taught to take symlinks into account.
The directory "$dir" specified in "gitdir:$dir" may be a symlink to
a real location, not something that $(getcwd) may return. In such
a case, a realpath of "$dir" is compared with the real path of the
current repository to determine if the contents from the named path
should be included.
* ab/conditional-config-with-symlinks:
config: match both symlink & realpath versions in IncludeIf.gitdir:*
Diffstat (limited to 't')
-rwxr-xr-x | t/t1305-config-include.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/t/t1305-config-include.sh b/t/t1305-config-include.sh index 933915ec06..d9d2f545a4 100755 --- a/t/t1305-config-include.sh +++ b/t/t1305-config-include.sh @@ -273,6 +273,29 @@ test_expect_success SYMLINKS 'conditional include, relative path with symlinks' ) ' +test_expect_success SYMLINKS 'conditional include, gitdir matching symlink' ' + ln -s foo bar && + ( + cd bar && + echo "[includeIf \"gitdir:bar/\"]path=bar7" >>.git/config && + echo "[test]seven=7" >.git/bar7 && + echo 7 >expect && + git config test.seven >actual && + test_cmp expect actual + ) +' + +test_expect_success SYMLINKS 'conditional include, gitdir matching symlink, icase' ' + ( + cd bar && + echo "[includeIf \"gitdir/i:BAR/\"]path=bar8" >>.git/config && + echo "[test]eight=8" >.git/bar8 && + echo 8 >expect && + git config test.eight >actual && + test_cmp expect actual + ) +' + test_expect_success 'include cycles are detected' ' cat >.gitconfig <<-\EOF && [test]value = gitconfig |