changeset 24720:c560d8c68791

cat: disable optimization of single file case for workingctx It crashes because workingctx has no manifest.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 05 Apr 2015 13:16:46 +0900
parents 11e8fec00234
children 774ee9800146
files mercurial/cmdutil.py tests/test-cat.t
diffstat 2 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Thu Apr 09 22:18:55 2015 +0900
+++ b/mercurial/cmdutil.py	Sun Apr 05 13:16:46 2015 +0900
@@ -2403,7 +2403,7 @@
         file = matcher.files()[0]
         mf = repo.manifest
         mfnode = ctx.manifestnode()
-        if mf.find(mfnode, file)[0]:
+        if mfnode and mf.find(mfnode, file)[0]:
             write(file)
             return 0
 
--- a/tests/test-cat.t	Thu Apr 09 22:18:55 2015 +0900
+++ b/tests/test-cat.t	Sun Apr 05 13:16:46 2015 +0900
@@ -63,3 +63,8 @@
   tmp/h_45116003780e
   tmp/r_2
 
+Test working directory
+
+  $ echo b-wdir > b
+  $ hg cat -r 'wdir()' b
+  b-wdir