t3004: add test for ls-files on symlinks via absolute paths
commitf02033f1d02a55b32815a4702389e4d492f38bcc
authorJunio C Hamano <gitster@pobox.com>
Tue, 4 Feb 2014 14:25:15 +0000 (4 15:25 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 4 Feb 2014 19:24:53 +0000 (4 11:24 -0800)
tree040ae64f99785a0a20b991e47aa03029ae52bc32
parentac930287ff16823531b541a8e6a7436279e612be
t3004: add test for ls-files on symlinks via absolute paths

When symlinks in the working tree are manipulated using the absolute
path, git dereferences them, and tries to manipulate the link target
instead.

This causes most high-level functions to misbehave when acting on
symlinks given via absolute paths. For example

  $ git add /dir/repo/symlink

attempts to add the target of the symlink rather than the symlink
itself, which is usually not what the user intends to do.

This is a regression introduced by 18e051a:
  setup: translate symlinks in filename when using absolute paths
(which did not take symlinks inside the work tree into consideration).

Add a known-breakage test using the ls-files function, checking both if
the symlink leads to a target in the same directory, and a target in the
above directory.

Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
Tested-by: Martin Erik Werner <martinerikwerner@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3004-ls-files-basic.sh