--- /usr/share/emacs/site-lisp/magit.el	2009-05-18 19:01:38.000000000 +0300
+++ /usr/local/src/magit.el	2009-12-11 15:14:32.000000000 +0200
@@ -66,6 +66,11 @@
   :group 'magit
   :type '(repeat string))
 
+(defcustom magit-diff-ignore-whitespace nil
+  "Ignore whitespace changes in diff output (-w)."
+  :group 'magit
+  :type 'boolean)
+
 (defcustom magit-save-some-buffers t
   "Non-nil means that \\[magit-status] will save modified buffers before running.
 Setting this to t will ask which buffers to save, setting it to 'dontask will
@@ -594,7 +599,8 @@
 	 buffer-title
 	 washer
 	 magit-git-executable
-	 (append magit-git-standard-options args)))
+	 (append magit-git-standard-options
+		 (remove "--magit-no-op" args))))
 
 (defun magit-next-section (section)
   (let ((parent (magit-section-parent section)))
@@ -1388,6 +1394,9 @@
 
 (defvar magit-diff-context-lines 3)
 
+(defun magit-diff-W-arg ()
+  (if magit-diff-ignore-whitespace "-w" "--magit-no-op"))
+
 (defun magit-diff-U-arg ()
   (format "-U%d" magit-diff-context-lines))
 
@@ -1625,17 +1634,17 @@
 (defun magit-insert-unstaged-changes (title)
   (let ((magit-hide-diffs t))
     (magit-git-section 'unstaged title 'magit-wash-diffs
-		       "diff" (magit-diff-U-arg))))
+		       "diff" (magit-diff-W-arg) (magit-diff-U-arg))))
 
 (defun magit-insert-staged-changes (no-commit)
   (let ((magit-hide-diffs t))
     (if no-commit
         (let ((null-tree (magit-git-string "mktree </dev/null")))
           (magit-git-section 'staged "Staged changes:" 'magit-wash-diffs
-			     "diff" "--cached" (magit-diff-U-arg)
+			     "diff" "--cached" (magit-diff-W-arg) (magit-diff-U-arg)
 			     null-tree))
       (magit-git-section 'staged "Staged changes:" 'magit-wash-diffs
-			 "diff" "--cached" (magit-diff-U-arg)))))
+			 "diff" "--cached" (magit-diff-W-arg) (magit-diff-U-arg)))))
 
 ;;; Logs and Commits
 
@@ -2087,7 +2096,7 @@
 	(magit-git-section 'pending-changes
 			   "Pending changes"
 			   'magit-wash-diffs
-			   "diff" (magit-diff-U-arg) "-R" orig)))))
+			   "diff" (magit-diff-W-arg) (magit-diff-U-arg) "-R" orig)))))
 
 (defun magit-rewrite-start (from &optional onto)
   (interactive (list (magit-read-rev "Rewrite from" (magit-default-rev))))
@@ -2659,7 +2668,7 @@
     (magit-git-section 'diffbuf
 		       (magit-rev-range-describe range "Changes")
 		       'magit-wash-diffs
-		       "diff" (magit-diff-U-arg) args)))
+		       "diff" (magit-diff-W-arg) (magit-diff-U-arg) args)))
 
 (defun magit-diff (range)
   (interactive (list (magit-read-rev-range "Diff")))
