path: root/t/
diff options
authorMartin Erik Werner <>2014-02-04 14:25:18 (GMT)
committerJunio C Hamano <>2014-02-04 20:08:47 (GMT)
commite131daa4c6baa53aba22e5d8bc1defa83b443bf0 (patch)
treeae5e28d1fb9508e2335e0b960b96590ea89a3797 /t/
parente5aa1fc472696bfc337b3f128d45c1ef2aba394d (diff)
t0060: add tests for prefix_path when path begins with work tree
One edge-case that isn't currently checked in the tests is the beginning of the path matching the work tree, despite the target not actually being the work tree, for example: path = /dir/repoa work_tree = /dir/repo should fail since the path is outside the repo. However, if /dir/repoa is in fact a symlink that points to /dir/repo, it should instead succeed. Add two tests covering these cases, since they might be potential regression points. Signed-off-by: Martin Erik Werner <> Reviewed-by: Duy Nguyen <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't/')
1 files changed, 10 insertions, 0 deletions
diff --git a/t/ b/t/
index b8e92e1..f8286b1 100755
--- a/t/
+++ b/t/
@@ -201,6 +201,16 @@ test_expect_success 'prefix_path works with only absolute path to work tree' '
test_cmp expected actual
+test_expect_success 'prefix_path rejects absolute path to dir with same beginning as work tree' '
+ test_must_fail test-path-utils prefix_path prefix "$(pwd)a"
+test_expect_success SYMLINKS 'prefix_path works with absolute path to a symlink to work tree having same beginning as work tree' '
+ git init repo &&
+ ln -s repo repolink &&
+ test "a" = "$(cd repo && test-path-utils prefix_path prefix "$(pwd)/../repolink/a")"
relative_path /foo/a/b/c/ /foo/a/b/ c/
relative_path /foo/a/b/c/ /foo/a/b c/
relative_path /foo/a//b//c/ ///foo/a/b// c/ POSIX