Function: vc-dir-clean-files

vc-dir-clean-files is an interactive and byte-compiled function defined in vc-dir.el.gz.

Signature

(vc-dir-clean-files)

Documentation

Delete marked files from repository, or the current file if no marks.

This command cleans unregistered files from the repository.
(To delete files that are registered, use vc-dir-delete-file instead.)
It is therefore an error to use this command to delete files that are tracked by a VCS.

Probably introduced at or before Emacs version 27.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-dir.el.gz
(defun vc-dir-clean-files ()
  "Delete marked files from repository, or the current file if no marks.
This command cleans unregistered files from the repository.
(To delete files that are registered, use `vc-dir-delete-file' instead.)
It is therefore an error to use this command to delete files that are
tracked by a VCS."
  (interactive)
  (let* ((files (or (vc-dir-marked-files)
                    (list (vc-dir-current-file))))
         (tracked
          (seq-filter (lambda (file)
                        (not (eq (vc-call-backend vc-dir-backend 'state file)
                                 'unregistered)))
                      files)))
    (when tracked
      (user-error (ngettext "Cannot clean tracked file: %s"
                            "Cannot clean tracked files: %s"
                            (length tracked))
                  (mapconcat #'file-name-nondirectory tracked ", ")))
    (map-y-or-n-p "Delete %s? " #'delete-file files)
    (revert-buffer)))