Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 24484:ca62ae364b86
changeset_printer: replace _meaningful_parentrevs() by changeset_templater's
Because changeset_printer needs pctx object anyway, there would be no benefit
to avoid creation of pctx in _meaningful_parentrevs().
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 14 Mar 2015 17:23:51 +0900 |
parents | 870d2eb82f6d |
children | 914caae9a86a |
comparison
equal
deleted
inserted
replaced
24483:870d2eb82f6d | 24484:ca62ae364b86 |
---|---|
1113 if self.ui.debugflag: | 1113 if self.ui.debugflag: |
1114 hexfunc = hex | 1114 hexfunc = hex |
1115 else: | 1115 else: |
1116 hexfunc = short | 1116 hexfunc = short |
1117 | 1117 |
1118 parents = [self.repo[p] | |
1119 for p in self._meaningful_parentrevs(log, rev)] | |
1120 | |
1121 # i18n: column positioning for "hg log" | 1118 # i18n: column positioning for "hg log" |
1122 self.ui.write(_("changeset: %d:%s\n") % (rev, hexfunc(changenode)), | 1119 self.ui.write(_("changeset: %d:%s\n") % (rev, hexfunc(changenode)), |
1123 label='log.changeset changeset.%s' % ctx.phasestr()) | 1120 label='log.changeset changeset.%s' % ctx.phasestr()) |
1124 | 1121 |
1125 # branches are shown first before any other names due to backwards | 1122 # branches are shown first before any other names due to backwards |
1143 label='log.%s' % ns.colorname) | 1140 label='log.%s' % ns.colorname) |
1144 if self.ui.debugflag: | 1141 if self.ui.debugflag: |
1145 # i18n: column positioning for "hg log" | 1142 # i18n: column positioning for "hg log" |
1146 self.ui.write(_("phase: %s\n") % _(ctx.phasestr()), | 1143 self.ui.write(_("phase: %s\n") % _(ctx.phasestr()), |
1147 label='log.phase') | 1144 label='log.phase') |
1148 for pctx in parents: | 1145 for pctx in self._meaningful_parentrevs(ctx): |
1149 label = 'log.parent changeset.%s' % pctx.phasestr() | 1146 label = 'log.parent changeset.%s' % pctx.phasestr() |
1150 # i18n: column positioning for "hg log" | 1147 # i18n: column positioning for "hg log" |
1151 self.ui.write(_("parent: %d:%s\n") | 1148 self.ui.write(_("parent: %d:%s\n") |
1152 % (pctx.rev(), hexfunc(pctx.node())), | 1149 % (pctx.rev(), hexfunc(pctx.node())), |
1153 label=label) | 1150 label=label) |
1227 self.ui.write("\n") | 1224 self.ui.write("\n") |
1228 diffordiffstat(self.ui, self.repo, diffopts, prev, node, | 1225 diffordiffstat(self.ui, self.repo, diffopts, prev, node, |
1229 match=matchfn, stat=False) | 1226 match=matchfn, stat=False) |
1230 self.ui.write("\n") | 1227 self.ui.write("\n") |
1231 | 1228 |
1232 def _meaningful_parentrevs(self, log, rev): | 1229 def _meaningful_parentrevs(self, ctx): |
1233 """Return list of meaningful (or all if debug) parentrevs for rev. | 1230 """Return list of meaningful (or all if debug) parentrevs for rev. |
1234 | 1231 |
1235 For merges (two non-nullrev revisions) both parents are meaningful. | 1232 For merges (two non-nullrev revisions) both parents are meaningful. |
1236 Otherwise the first parent revision is considered meaningful if it | 1233 Otherwise the first parent revision is considered meaningful if it |
1237 is not the preceding revision. | 1234 is not the preceding revision. |
1238 """ | 1235 """ |
1239 parents = log.parentrevs(rev) | 1236 parents = ctx.parents() |
1240 if not self.ui.debugflag and parents[1] == nullrev: | 1237 if len(parents) > 1: |
1241 if parents[0] >= rev - 1: | 1238 return parents |
1242 parents = [] | 1239 if self.ui.debugflag: |
1243 else: | 1240 return [parents[0], self.repo['null']] |
1244 parents = [parents[0]] | 1241 if parents[0].rev() >= ctx.rev() - 1: |
1242 return [] | |
1245 return parents | 1243 return parents |
1246 | 1244 |
1247 class jsonchangeset(changeset_printer): | 1245 class jsonchangeset(changeset_printer): |
1248 '''format changeset information.''' | 1246 '''format changeset information.''' |
1249 | 1247 |
1352 cache=defaulttempl) | 1350 cache=defaulttempl) |
1353 if tmpl: | 1351 if tmpl: |
1354 self.t.cache['changeset'] = tmpl | 1352 self.t.cache['changeset'] = tmpl |
1355 | 1353 |
1356 self.cache = {} | 1354 self.cache = {} |
1357 | |
1358 def _meaningful_parentrevs(self, ctx): | |
1359 """Return list of meaningful (or all if debug) parentrevs for rev. | |
1360 """ | |
1361 parents = ctx.parents() | |
1362 if len(parents) > 1: | |
1363 return parents | |
1364 if self.ui.debugflag: | |
1365 return [parents[0], self.repo['null']] | |
1366 if parents[0].rev() >= ctx.rev() - 1: | |
1367 return [] | |
1368 return parents | |
1369 | 1355 |
1370 def _show(self, ctx, copies, matchfn, props): | 1356 def _show(self, ctx, copies, matchfn, props): |
1371 '''show a single changeset or file revision''' | 1357 '''show a single changeset or file revision''' |
1372 | 1358 |
1373 showlist = templatekw.showlist | 1359 showlist = templatekw.showlist |