mercurial/patch.py
changeset 3063 035fd2029575
parent 3054 d16b93f4a6ca
child 3093 f422c8265ae5
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -502,7 +502,10 @@ def diff(repo, node1=None, node2=None, f
                     header.append('deleted file mode %s\n' % mode)
             else:
                 omode = gitmode(mmap.execf(f))
-                nmode = gitmode(util.is_exec(repo.wjoin(f), mmap.execf(f)))
+                if node2:
+                    nmode = gitmode(mmap2.execf(f))
+                else:
+                    nmode = gitmode(util.is_exec(repo.wjoin(f), mmap.execf(f)))
                 addmodehdr(header, omode, nmode)
             r = None
             if dodiff: