# HG changeset patch # User Augie Fackler # Date 1495479918 14400 # Node ID 69c864149d69438a5e88fdab2d46e0e328215798 # Parent 7feaf5550a9eedbda250d00a26943b35db5ab1e0 cmdutil: avoid redefining write() function in export if possible Doing less work inside the loop just feels better to me. diff -r 7feaf5550a9e -r 69c864149d69 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Mon May 22 13:34:03 2017 -0400 +++ b/mercurial/cmdutil.py Mon May 22 15:05:18 2017 -0400 @@ -1205,11 +1205,19 @@ revwidth = max(len(str(rev)) for rev in revs) filemode = {} + write = None + dest = '' + if fp: + dest = getattr(fp, 'name', dest) + def write(s, **kw): + fp.write(s) + elif not fntemplate: + write = repo.ui.write + for seqno, rev in enumerate(revs, 1): ctx = repo[rev] fo = None - dest = '' - if not fp and len(fntemplate) > 0: + 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, @@ -1218,12 +1226,6 @@ dest = fo.name def write(s, **kw): fo.write(s) - elif fp: - dest = getattr(fp, 'name', dest) - def write(s, **kw): - fp.write(s) - else: - write = repo.ui.write if not dest.startswith('<'): repo.ui.note("%s\n" % dest) _exportsingle(