From b97f0b6e68bf128b2472b32c8b4ed958e7161c8d Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Wed, 8 Apr 2026 08:46:26 +0200 Subject: magit-revision-{files,directories}: Use --full-tree That is cheaper than `magit-with-toplevel'. --- lisp/magit-git.el | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lisp/magit-git.el b/lisp/magit-git.el index 505b985..c09bb7f 100644 --- a/lisp/magit-git.el +++ b/lisp/magit-git.el @@ -1223,14 +1223,13 @@ See also `magit-untracked-files'." (magit-list-files "-v" args))) (defun magit-revision-files (rev) - (magit-with-toplevel - (magit-git-items "ls-tree" "-z" "-r" "--name-only" rev))) + (magit-git-items "ls-tree" "-z" "--full-tree" "-r" "--name-only" rev)) (defun magit-revision-directories (rev) "List directories that contain a tracked file in revision REV." - (magit-with-toplevel - (mapcar #'file-name-as-directory - (magit-git-items "ls-tree" "-z" "-r" "-d" "--name-only" rev)))) + (mapcar #'file-name-as-directory + (magit-git-items "ls-tree" "-z" "--full-tree" "-r" "-d" "--name-only" + rev))) (defun magit-changed-files (rev-or-range &optional other-rev) "Return list of files the have changed between two revisions. -- cgit v1.0