Armin Kunaschik <megabreit@xxxxxxxxxxxxxx> writes: >> I wouldn't allow it in our scripted Porcelain, but the environment >> of our test scripts are under our control, so I do not think it is a >> problem ("ls piped to sed" has been an established idiom before >> readlink(1) was widely accepted, by the way). > > I think so too. Maybe I can improve the sed expression a bit, but > it will never be a universal readlink replacement. But it doesn't have to. > It's defined locally for this one test only and it does the specific job. > >>> It would be acceptable as a fall-back if readlink is not present, but >>> shouldn't activate the "ls" hack by default. >> >> Yup. > > Ok, how can this be implemented within the test environment? I actually think an unconditional check like this is sufficient. t/t7800-difftool.sh | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 7ce4cd7..f304228 100755 --- a/t/t7800-difftool.sh +++ b/t/t7800-difftool.sh @@ -442,15 +442,16 @@ run_dir_diff_test 'difftool --dir-diff with unmerged files' ' test_cmp expect actual ' -write_script .git/CHECK_SYMLINKS <<\EOF -for f in file file2 sub/sub -do - echo "$f" - readlink "$2/$f" -done >actual -EOF - test_expect_success PERL,SYMLINKS 'difftool --dir-diff --symlink without unstaged changes' ' + + write_script .git/CHECK_SYMLINKS <<-\EOF && + for f in file file2 sub/sub + do + echo "$f" + ls -ld "$2/$f" | sed -e "s/.* -> //" + done >actual + EOF + cat >expect <<-EOF && file $PWD/file -- 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