mercurial/cmdutil.py
changeset 35007 407ec7f3ff02
parent 34996 602c168c0207
child 35107 b22a0d9e0a83
--- a/mercurial/cmdutil.py	Tue Nov 07 13:46:15 2017 -0800
+++ b/mercurial/cmdutil.py	Tue Nov 07 13:48:33 2017 -0800
@@ -3029,6 +3029,11 @@
         if fntemplate:
             filename = makefilename(repo, fntemplate, ctx.node(),
                                     pathname=os.path.join(prefix, path))
+            # attempt to create the directory if it does not already exist
+            try:
+                os.makedirs(os.path.dirname(filename))
+            except OSError:
+                pass
         with formatter.maybereopen(basefm, filename, opts) as fm:
             data = ctx[path].data()
             if opts.get('decode'):