Mercurial > public > mercurial-scm > hg-stable
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