Subject: Re: bug#52507: [PATCH] Option for vc-delete-file to keep file on disk

From: Juri Linkov <[email-masked]>
Date: Sun, 26 Dec 2021 19:43:20 +0200

>> I doubt that anyone might want to commit the file deletion immediately,
>> because file deletions usually are committed together with other changes.
>
> Right. That's why I suggested either to have a buffer-local var to store
> the "to be deleted" status, or do that in the staging area first.
>
>> But maybe git has a way to mark a file as deleted without actually deleting it?
>> So `git status --porcelain -z --untracked-files` could return "D" for such file
>> that still exists, this would be the simplest solution.
>
> 'git rm --cached', used in the patch for this issue originally, is indeed
> such command. Unless I misunderstood the question.
>
> $ git rm --cached CONTRIBUTE
> rm 'CONTRIBUTE'                                   $ git status --porcelain
> --untracked-files
> D  CONTRIBUTE
> ?? CONTRIBUTE

Both "D " and "??" correspond to the 'unregistered' status in vc-dir
according to 'vc-git--git-status-to-vc-state':

  (defun vc-git--git-status-to-vc-state (code-list)
      ...
      ('("D " "??") 'unregistered)