Function: majutsu-interactive--file-change

majutsu-interactive--file-change is a natively compiled function defined in majutsu-interactive.el.

Signature

(majutsu-interactive--file-change FILE-SECTION)

Documentation

Return a validated structured file change from FILE-SECTION metadata.

Never infer filesystem paths from rendered Git patch headers.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-interactive.el
(defun majutsu-interactive--file-change (file-section)
  "Return a validated structured file change from FILE-SECTION metadata.
Never infer filesystem paths from rendered Git patch headers."
  (let ((metadata (majutsu-diff-file-metadata file-section)))
    (unless metadata
      (user-error
       "Cannot verify this whole-file selection against structured metadata from jj; refresh the diff and try again"))
    (let* ((status (plist-get metadata :status))
           (path (majutsu-interactive--safe-relative-path
                  (plist-get metadata :target)))
           (source (and (member status '("renamed" "copied"))
                        (majutsu-interactive--safe-relative-path
                         (plist-get metadata :source)))))
      (list :status status :source source :target path))))