Subject: Re: bug#68443: 30.0.50; Cannot commit from *vc-diff* if there is a deleted file.

From: Juri Linkov <[email-masked]>
Date: Thu, 18 Jan 2024 09:50:44 +0200

>>> Yes with this patch the error is no longer present, but the deleted file
>>> is not displayed in the *log-edit-files* buffer, unlike if you run
>>> vc-next-action from *vc-dir*. Although this is another bug report.
>>
>> Right, that's still a remaining problem. diff-find-file-name doesn't really
>> want to "find" files that don't exist on disk, so it might need
>> a replacement for such cases.
>
> Indeed, the problem is that diff-find-file-name doesn't get the name
> of the deleted file even when called with OLD=t:
>
>     ;; Use file-regular-p to avoid
>     ;; /dev/null, directories, etc.
>     ((or (null file) (file-regular-p file))
>      file)

This can be fixed by adding special-casing to diff-vc-deduce-fileset
that will check whether the diff output is for git diff,
then will remove a/ and b/ prefixes from file names
without checking whether these files really exist.