emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/git-commit 0e8f25a8d8 4/4: magit--git-wash: Support comman


From: ELPA Syncer
Subject: [nongnu] elpa/git-commit 0e8f25a8d8 4/4: magit--git-wash: Support commands whose non-zero status isn't an error
Date: Wed, 20 Mar 2024 22:01:21 -0400 (EDT)

branch: elpa/git-commit
commit 0e8f25a8d8011328f2bf082232c720b24c2a12c2
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    magit--git-wash: Support commands whose non-zero status isn't an error
    
    This fixes a regression introduced by [1: 78a979fde5], which did not
    take into account that "git diff --no-index" exits with 1 if there
    are differences (like "diff" does).
    
    Closes #5094.
    
    1: 2023-03-18 78a979fde52815242b165f083d171259db28e0b4
       Support displaying errors that occur when washing a section
---
 lisp/magit-diff.el | 4 +++-
 lisp/magit-git.el  | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/magit-diff.el b/lisp/magit-diff.el
index 35c28bd600..3ada2f5ba0 100644
--- a/lisp/magit-diff.el
+++ b/lisp/magit-diff.el
@@ -2170,7 +2170,9 @@ keymap is the parent of their keymaps."
       (setq magit-git-global-arguments
             (append magit-diff--reset-non-color-moved
                     magit-git-global-arguments)))
-    (magit--git-wash #'magit-diff-wash-diffs keep-error cmd args)))
+    (magit--git-wash #'magit-diff-wash-diffs
+        (if (member "--no-index" args) 'wash-anyway keep-error)
+      cmd args)))
 
 (defun magit-diff--maybe-add-stat-arguments (args)
   (if (member "--stat" args)
diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index 65b3075e19..4d8144eba1 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -597,7 +597,8 @@ call function WASHER with ARGS as its sole argument."
         (magit-cancel-section)
       (unless (bolp)
         (insert "\n"))
-      (when (equal exit 0)
+      (when (or (equal exit 0)
+                (eq keep-error 'wash-anyway))
         (save-restriction
           (narrow-to-region beg (point))
           (goto-char beg)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]