On Wed, Dec 27 2017, Junio C. Hamano jotted:
> Ævar Arnfjörð Bjarmason <[email protected]> writes:
>
>> +status_is_clean() {
>> + >../status.expect &&
>> + git status --porcelain >../status.actual &&
>> + test_cmp ../status.expect ../status.actual
>> +}
>> +
>> test_lazy_prereq UNTRACKED_CACHE '
>> { git update-index --test-untracked-cache; ret=$?; } &&
>> test $ret -ne 1
>> @@ -683,4 +689,43 @@ test_expect_success 'untracked cache survives a commit'
>> '
>> test_cmp ../before ../after
>> '
>>
>> +test_expect_success 'teardown worktree' '
>> + cd ..
>> +'
>
> Funny indentation.
Thanks. I'll submit a new series with all 3 patches with the issues you
brought up mentioned...
>> +test_expect_success 'setup worktree for symlink test' '
>> + git init worktree-symlink &&
>> + cd worktree-symlink &&
>> + git config core.untrackedCache true &&
>> + mkdir one two &&
>> + touch one/file two/file &&
>> + git add one/file two/file &&
>> + git commit -m"first commit" &&
>> + git rm -rf one &&
>> + ln -s two one &&
>> + git add one &&
>> + git commit -m"second commit"
>> +'
>
> This needs SYMLINKS prereq, which in turn means it cannot be tested
> on certain platforms. I thought Duy's answer was that this does not
> need to involve a symbolic link at all? If so, perhaps we can have
> another test that does not need symlink?
... as soon as I figure out how to add such a non-symlink test as well
(seems sensible to test both), but I can't bring it to fail without
symlinks, I just adjusted my test script to do this instead:
(
rm -rf /tmp/testrepo &&
git init /tmp/testrepo &&
cd /tmp/testrepo &&
mkdir x y &&
touch x/a y/b &&
git add x/a y/b &&
git commit -msnap &&
git rm -rf y &&
mkdir y &&
touch y/c &&
git add y &&
git commit -msnap2 &&
git checkout HEAD~ &&
git status &&
git checkout master &&
sleep 1 &&
git status &&
git status
)
Duy, what am I missing here?