Subject: bug#38615: 27.0.50; vc-git: Wrong status in vc-dir after registering directory

From: Andrii Kolomoiets <[email-masked]>
Date: Mon, 16 Dec 2019 10:00:22 +0200

Dmitry Gutov <[email-masked]> writes:

> On 14.12.2019 14:41, Andrii Kolomoiets wrote:
>> 0. mkdir test && cd test
>>     git init
>>     touch file
>>     git add file
>>     git commit -m "initial"
>>     mkdir dir
>>     touch dir/file1
>> 1. emacs -Q
>> 2. C-x v d
>>     "dir/" is listed with "unregistered" status.
>> 3. v
>>     "dir/" has "added" status.
>> 4. g
>>     "dir/file1" is listed with "up-to-date" status.  Shouldn't it have
>>     "added" status?
>> 5. g
>>     Now "dir/file1" properly has "added" status.
>> Also:
>> - After step 3 point is moved to word "dir" on second line.
>> - Press "n" before step 3 to move point to "dir/". After step 3 "dir/"
>>    status is not updated and remains "unregistered".
>
> Thanks for the repro. This problem seems to have been with us for a while.
>
> vc-git's dir-status-files code is a bit hard to follow, but here's a
> patch you can try. I'll commit it in the next few days if nothing
> comes up.

Thanks, file status is "added" after step 4 now.

Though point is stil moves to the word "dir" on the second line after
step 3.
And directory "dir" status is not updated when:
2. C-x v d
3. n
4. v

Should it be different bug reports for those cases?