branch: elpa/magit
commit 32aa8ee5300675b31191d936c16f5e71a5f33f1b
Author: Jonas Bernoulli <jo...@bernoul.li>
Commit: Jonas Bernoulli <jo...@bernoul.li>

    Add workaround for regression in Git v2.46.0
    
    Closes #5212.
    Closes #5221.
---
 lisp/magit-git.el | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index 8e14df4dea5..9973e0848f6 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -1067,17 +1067,20 @@ tracked file."
 
 (defun magit-modified-files (&optional nomodules files)
   (magit-git-items "diff-index" "-z" "--name-only"
-                   (and nomodules "--ignore-submodules")
+                   ;; Work around a bug in Git v2.46.0. See #5212 and #5221.
+                   (if nomodules "--ignore-submodules" "--submodule=short")
                    (magit-headish) "--" files))
 
 (defun magit-unstaged-files (&optional nomodules files)
   (magit-git-items "diff-files" "-z" "--name-only" "--diff-filter=u"
-                   (and nomodules "--ignore-submodules")
+                   ;; Work around a bug in Git v2.46.0. See #5212 and #5221.
+                   (if nomodules "--ignore-submodules" "--submodule=short")
                    "--" files))
 
 (defun magit-staged-files (&optional nomodules files)
   (magit-git-items "diff-index" "-z" "--name-only" "--cached"
-                   (and nomodules "--ignore-submodules")
+                   ;; Work around a bug in Git v2.46.0. See #5212 and #5221.
+                   (if nomodules "--ignore-submodules" "--submodule=short")
                    (magit-headish) "--" files))
 
 (defun magit-binary-files (&rest args)
@@ -1250,7 +1253,10 @@ Sorted from longest to shortest CYGWIN name."
 If optional FILES is non-nil, then only changes to those files
 are considered."
   (magit-git-failure "diff" "--quiet" "--cached"
-                     (and ignore-submodules "--ignore-submodules")
+                     (if ignore-submodules
+                         "--ignore-submodules"
+                       ;; Work around a bug in Git v2.46.0. See #5212 and 
#5221.
+                       "--submodule=short")
                      "--" files))
 
 (defun magit-anything-unstaged-p (&optional ignore-submodules &rest files)
@@ -1258,7 +1264,10 @@ are considered."
 If optional FILES is non-nil, then only changes to those files
 are considered."
   (magit-git-failure "diff" "--quiet"
-                     (and ignore-submodules "--ignore-submodules")
+                     (if ignore-submodules
+                         "--ignore-submodules"
+                       ;; Work around a bug in Git v2.46.0. See #5212 and 
#5221.
+                       "--submodule=short")
                      "--" files))
 
 (defun magit-anything-modified-p (&optional ignore-submodules &rest files)

Reply via email to