Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

This commit is contained in:
Eli Zaretskii 2026-06-04 14:48:05 +03:00
commit 35f69be393
5 changed files with 51 additions and 48 deletions

View file

@ -1032,7 +1032,9 @@ stream. Standard error output is discarded."
(defun vc-bzr-dir-status-files (dir files update-function) (defun vc-bzr-dir-status-files (dir files update-function)
"Return a list of conses (file . state) for DIR." "Return a list of conses (file . state) for DIR."
(apply #'vc-bzr-command "status" (current-buffer) 'async dir "-v" "-S" files) (set-process-query-on-exit-flag
(apply #'vc-bzr-command "status" (current-buffer) 'async dir "-v" "-S" files)
nil)
;; FIXME: Consider `vc-run-delayed-success'. ;; FIXME: Consider `vc-run-delayed-success'.
(vc-run-delayed (vc-run-delayed
(vc-bzr-after-dir-status update-function (vc-bzr-after-dir-status update-function

View file

@ -1083,9 +1083,11 @@ Query all files in DIR if files is nil."
(let ((local (vc-cvs-stay-local-p dir))) (let ((local (vc-cvs-stay-local-p dir)))
(if (and (not files) local (not (eq local 'only-file))) (if (and (not files) local (not (eq local 'only-file)))
(vc-cvs-dir-status-heuristic dir update-function)) (vc-cvs-dir-status-heuristic dir update-function))
(vc-cvs-command (current-buffer) 'async (set-process-query-on-exit-flag
files (vc-cvs-command (current-buffer) 'async
"-f" "-n" "-q" "update") files
"-f" "-n" "-q" "update")
nil)
;; FIXME: Consider `vc-run-delayed-success'. ;; FIXME: Consider `vc-run-delayed-success'.
(vc-run-delayed (vc-run-delayed
(vc-cvs-after-dir-status update-function)))) (vc-cvs-after-dir-status update-function))))

View file

@ -724,44 +724,39 @@ or an empty string if none."
(defun vc-git-dir-status-goto-stage (git-state) (defun vc-git-dir-status-goto-stage (git-state)
;; TODO: Look into reimplementing this using `git status --porcelain=v2'. ;; TODO: Look into reimplementing this using `git status --porcelain=v2'.
(let ((files (vc-git-dir-status-state->files git-state)) (cl-flet ((git-cmd (&rest args)
(allowed-exit 1)) (set-process-query-on-exit-flag
(erase-buffer) (apply #'vc-git-command (current-buffer) 'async args)
(pcase (vc-git-dir-status-state->stage git-state) nil)))
('update-index (let ((files (vc-git-dir-status-state->files git-state))
(if files (allowed-exit 1))
(progn (vc-git-command (current-buffer) 'async files (erase-buffer)
"add" "--refresh" "--") (pcase (vc-git-dir-status-state->stage git-state)
;; git-add exits 128 if some of FILES are untracked; ('update-index
;; we can ignore that (bug#79999). (if files
(setq allowed-exit 128)) (progn (git-cmd files "add" "--refresh" "--")
(vc-git-command (current-buffer) 'async nil ;; git-add exits 128 if some of FILES are untracked;
"update-index" "--refresh"))) ;; we can ignore that (bug#79999).
('ls-files-added (setq allowed-exit 128))
(vc-git-command (current-buffer) 'async files (git-cmd nil "update-index" "--refresh")))
"ls-files" "-z" "-c" "-s" "--")) ('ls-files-added
('ls-files-up-to-date (git-cmd files "ls-files" "-z" "-c" "-s" "--"))
(vc-git-command (current-buffer) 'async files ('ls-files-up-to-date
"ls-files" "-z" "-c" "-s" "--")) (git-cmd files "ls-files" "-z" "-c" "-s" "--"))
('ls-files-conflict ('ls-files-conflict
(vc-git-command (current-buffer) 'async files (git-cmd files "ls-files" "-z" "-u" "--"))
"ls-files" "-z" "-u" "--")) ('ls-files-missing
('ls-files-missing (git-cmd files "ls-files" "-z" "-d" "--"))
(vc-git-command (current-buffer) 'async files ('ls-files-unknown
"ls-files" "-z" "-d" "--")) (git-cmd files "ls-files" "-z" "-o" "--exclude-standard" "--"))
('ls-files-unknown ('ls-files-ignored
(vc-git-command (current-buffer) 'async files (git-cmd files "ls-files" "-z" "-o" "-i" "--directory"
"ls-files" "-z" "-o" "--exclude-standard" "--")) "--no-empty-directory" "--exclude-standard" "--"))
('ls-files-ignored ;; --relative added in Git 1.5.5.
(vc-git-command (current-buffer) 'async files ('diff-index
"ls-files" "-z" "-o" "-i" "--directory" (git-cmd files "diff-index" "--relative" "-z" "-M" "HEAD" "--")))
"--no-empty-directory" "--exclude-standard" "--")) (vc-run-delayed-success allowed-exit
;; --relative added in Git 1.5.5. (vc-git-after-dir-status-stage git-state)))))
('diff-index
(vc-git-command (current-buffer) 'async files
"diff-index" "--relative" "-z" "-M" "HEAD" "--")))
(vc-run-delayed-success allowed-exit
(vc-git-after-dir-status-stage git-state))))
(defun vc-git-dir-status-files (_dir files update-function) (defun vc-git-dir-status-files (_dir files update-function)
"Return a list of (FILE STATE EXTRA) entries for DIR." "Return a list of (FILE STATE EXTRA) entries for DIR."

View file

@ -1544,11 +1544,13 @@ REV is the revision to check out into WORKFILE."
;; XXX: We can't pass DIR directly to 'hg status' because that ;; XXX: We can't pass DIR directly to 'hg status' because that
;; returns all ignored files if FILES is non-nil (bug#22481). ;; returns all ignored files if FILES is non-nil (bug#22481).
(let ((default-directory dir)) (let ((default-directory dir))
(apply #'vc-hg-command '(t nil) 'async files (set-process-query-on-exit-flag
"status" (concat "-mardu" (if files "i")) "-C" (apply #'vc-hg-command '(t nil) 'async files
(if (version<= "4.2" (vc-hg--program-version)) "status" (concat "-mardu" (if files "i")) "-C"
'("--config" "commands.status.relative=1") (if (version<= "4.2" (vc-hg--program-version))
'("re:" "-I" ".")))) '("--config" "commands.status.relative=1")
'("re:" "-I" ".")))
nil))
(vc-run-delayed-success 0 (vc-run-delayed-success 0
(vc-hg-after-dir-status update-function))) (vc-hg-after-dir-status update-function)))

View file

@ -227,7 +227,9 @@ A value of `default' means to use the value of `vc-resolve-conflicts'."
CALLBACK is called as (CALLBACK RESULT BUFFER), where CALLBACK is called as (CALLBACK RESULT BUFFER), where
RESULT is a list of conses (FILE . STATE) for directory DIR." RESULT is a list of conses (FILE . STATE) for directory DIR."
;; FIXME shouldn't this rather default to all the files in dir? ;; FIXME shouldn't this rather default to all the files in dir?
(apply #'vc-svn-command (current-buffer) 'async nil "status" "-u" files) (set-process-query-on-exit-flag
(apply #'vc-svn-command (current-buffer) 'async nil "status" "-u" files)
nil)
;; FIXME: Consider `vc-run-delayed-success'. ;; FIXME: Consider `vc-run-delayed-success'.
(vc-run-delayed (vc-svn-after-dir-status callback t))) (vc-run-delayed (vc-svn-after-dir-status callback t)))