comparison mercurial/cmdutil.py @ 32472:69c864149d69

cmdutil: avoid redefining write() function in export if possible Doing less work inside the loop just feels better to me.
author Augie Fackler <augie@google.com>
date Mon, 22 May 2017 15:05:18 -0400
parents 7feaf5550a9e
children 9f56d462634c
comparison
equal deleted inserted replaced
32471:7feaf5550a9e 32472:69c864149d69
1203 1203
1204 total = len(revs) 1204 total = len(revs)
1205 revwidth = max(len(str(rev)) for rev in revs) 1205 revwidth = max(len(str(rev)) for rev in revs)
1206 filemode = {} 1206 filemode = {}
1207 1207
1208 write = None
1209 dest = '<unnamed>'
1210 if fp:
1211 dest = getattr(fp, 'name', dest)
1212 def write(s, **kw):
1213 fp.write(s)
1214 elif not fntemplate:
1215 write = repo.ui.write
1216
1208 for seqno, rev in enumerate(revs, 1): 1217 for seqno, rev in enumerate(revs, 1):
1209 ctx = repo[rev] 1218 ctx = repo[rev]
1210 fo = None 1219 fo = None
1211 dest = '<unnamed>' 1220 if not fp and fntemplate:
1212 if not fp and len(fntemplate) > 0:
1213 desc_lines = ctx.description().rstrip().split('\n') 1221 desc_lines = ctx.description().rstrip().split('\n')
1214 desc = desc_lines[0] #Commit always has a first line. 1222 desc = desc_lines[0] #Commit always has a first line.
1215 fo = makefileobj(repo, fntemplate, ctx.node(), desc=desc, 1223 fo = makefileobj(repo, fntemplate, ctx.node(), desc=desc,
1216 total=total, seqno=seqno, revwidth=revwidth, 1224 total=total, seqno=seqno, revwidth=revwidth,
1217 mode='wb', modemap=filemode) 1225 mode='wb', modemap=filemode)
1218 dest = fo.name 1226 dest = fo.name
1219 def write(s, **kw): 1227 def write(s, **kw):
1220 fo.write(s) 1228 fo.write(s)
1221 elif fp:
1222 dest = getattr(fp, 'name', dest)
1223 def write(s, **kw):
1224 fp.write(s)
1225 else:
1226 write = repo.ui.write
1227 if not dest.startswith('<'): 1229 if not dest.startswith('<'):
1228 repo.ui.note("%s\n" % dest) 1230 repo.ui.note("%s\n" % dest)
1229 _exportsingle( 1231 _exportsingle(
1230 repo, ctx, match, switch_parent, rev, seqno, write, opts) 1232 repo, ctx, match, switch_parent, rev, seqno, write, opts)
1231 if fo is not None: 1233 if fo is not None: