I find the VC status on the modeline useful (the one that shows
Git[:-]branchname) This indicates when the buffer's associated file was
changed on disk (`:' for edited, `-' for unedited.) This indicator is
not affected by a commit with magit, so it keeps signaling a file as
edited when in fact it is not. This patch reverts all buffers that are
visiting a file in the current working tree after a commit.

diff --git a/magit.el b/magit.el
index 799e43f..22c56a7 100644
--- a/magit.el
+++ b/magit.el
@@ -1719,12 +1719,12 @@ Please see the manual for a complete description of 
Magit.
 (defun magit-string-has-prefix-p (string prefix)
   (eq (compare-strings string nil (length prefix) prefix nil nil) t))
 
-(defun magit-revert-buffers (dir)
+(defun magit-revert-buffers (dir &optional ignore-modtime)
   (dolist (buffer (buffer-list))
     (when (and buffer
               (buffer-file-name buffer)
               (magit-string-has-prefix-p (buffer-file-name buffer) dir)
-              (not (verify-visited-file-modtime buffer))
+              (or ignore-modtime (not (verify-visited-file-modtime buffer)))
               (not (buffer-modified-p buffer)))
       (with-current-buffer buffer
        (ignore-errors
@@ -3082,6 +3082,7 @@ Prefix arg means justify as well."
     (bury-buffer)
     (when (file-exists-p ".git/MERGE_MSG")
       (delete-file ".git/MERGE_MSG"))
+    (magit-revert-buffers default-directory t)
     (when magit-pre-log-edit-window-configuration
       (set-window-configuration magit-pre-log-edit-window-configuration)
       (setq magit-pre-log-edit-window-configuration nil))))


Reply via email to