diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -282,7 +282,7 @@
         status = repo.status(match=match)
         if not force:
             repo.checkcommitpatterns(wctx, vdirs, match, status, fail)
-        diffopts = patch.difffeatureopts(ui, opts=opts)
+        diffopts = patch.difffeatureopts(ui, opts=opts, whitespace='noconfig')
         diffopts.nodates = True
         diffopts.git = True
         diffopts.showfunc = True
diff --git a/tests/test-record.t b/tests/test-record.t
--- a/tests/test-record.t
+++ b/tests/test-record.t
@@ -88,5 +88,46 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   
   
+  $ cd $TESTTMP
 
+Test the whitespace diffopts
 
+  $ hg init whitespace
+  $ cd whitespace
+  $ cat > foo <<EOF
+  > line1
+  > line2
+  > EOF
+  $ hg ci -qAm 'initial'
+  $ cat > foo <<EOF
+  > line1
+  > 
+  > line2
+  > line3
+  > EOF
+  $ hg record -qAm 'with ignore-blank-lines' --ignore-blank-lines <<EOF
+  > f
+  > EOF
+  diff --git a/foo b/foo
+  1 hunks, 1 lines changed
+  examine changes to 'foo'? [Ynesfdaq?] f
+  
+(blank line should not have been recorded)
+  $ hg diff -c .
+  diff -r 2bebe08ba9bd -r cc97ffa5d61f foo
+  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,2 +1,3 @@
+   line1
+   line2
+  +line3
+  $ hg diff
+  diff -r cc97ffa5d61f foo
+  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,3 +1,4 @@
+   line1
+  +
+   line2
+   line3
+  $ cd $TESTTMP