cat: disable optimization of single file case for workingctx
authorYuya Nishihara <yuya@tcha.org>
Sun, 05 Apr 2015 13:16:46 +0900
changeset 24720 c560d8c68791
parent 24719 11e8fec00234
child 24721 774ee9800146
cat: disable optimization of single file case for workingctx It crashes because workingctx has no manifest.
mercurial/cmdutil.py
tests/test-cat.t
--- 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