mercurial/cmdutil.py
changeset 36205 976e1cfb2f64
parent 36204 33ed8b511185
child 36206 9ddc884e9a32
--- a/mercurial/cmdutil.py	Thu Apr 02 23:32:28 2015 +0900
+++ b/mercurial/cmdutil.py	Thu Apr 02 23:28:16 2015 +0900
@@ -956,19 +956,19 @@
     def __exit__(self, exc_type, exc_value, exc_tb):
         pass
 
-def makefileobj(repo, pat, node, desc=None, total=None,
+def makefileobj(ctx, pat, desc=None, total=None,
                 seqno=None, revwidth=None, mode='wb', modemap=None,
                 pathname=None):
 
     writable = mode not in ('r', 'rb')
 
     if isstdiofilename(pat):
+        repo = ctx.repo()
         if writable:
             fp = repo.ui.fout
         else:
             fp = repo.ui.fin
         return _unclosablefile(fp)
-    ctx = repo[node]
     fn = makefilename(ctx, pat, desc, total, seqno, revwidth, pathname)
     if modemap is not None:
         mode = modemap.get(fn, mode)
@@ -1546,7 +1546,7 @@
         if not fp and fntemplate:
             desc_lines = ctx.description().rstrip().split('\n')
             desc = desc_lines[0]    #Commit always has a first line.
-            fo = makefileobj(repo, fntemplate, ctx.node(), desc=desc,
+            fo = makefileobj(ctx, fntemplate, desc=desc,
                              total=total, seqno=seqno, revwidth=revwidth,
                              mode='wb', modemap=filemode)
             dest = fo.name