diff mercurial/cmdutil.py @ 7319:eae1767cc6a8

export: fixed silent output file overwriting hg export -o outfile 1 2 3 4 had the same effect as hg -o outfile 4 This was caused by opening with 'w' instead of 'a'. This only occurs when the filename pattern resulted in ambiguous patch filenames.
author Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
date Thu, 06 Nov 2008 11:17:38 +0100
parents b6f5490effbf
children 9fe97eea5510
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Thu Nov 06 10:39:52 2008 +0100
+++ b/mercurial/cmdutil.py	Thu Nov 06 11:17:38 2008 +0100
@@ -214,9 +214,12 @@
 
 def make_file(repo, pat, node=None,
               total=None, seqno=None, revwidth=None, mode='wb', pathname=None):
+
+    writable = 'w' in mode or 'a' in mode
+
     if not pat or pat == '-':
-        return 'w' in mode and sys.stdout or sys.stdin
-    if hasattr(pat, 'write') and 'w' in mode:
+        return writable and sys.stdout or sys.stdin
+    if hasattr(pat, 'write') and writable:
         return pat
     if hasattr(pat, 'read') and 'r' in mode:
         return pat