equal
deleted
inserted
replaced
50 return (added, removed) |
50 return (added, removed) |
51 |
51 |
52 |
52 |
53 def countrate(ui, repo, amap, *pats, **opts): |
53 def countrate(ui, repo, amap, *pats, **opts): |
54 """Calculate stats""" |
54 """Calculate stats""" |
55 opts = pycompat.byteskwargs(opts) |
55 if opts.get('dateformat'): |
56 if opts.get(b'dateformat'): |
|
57 |
56 |
58 def getkey(ctx): |
57 def getkey(ctx): |
59 t, tz = ctx.date() |
58 t, tz = ctx.date() |
60 date = datetime.datetime(*time.gmtime(float(t) - tz)[:6]) |
59 date = datetime.datetime(*time.gmtime(float(t) - tz)[:6]) |
61 return encoding.strtolocal( |
60 return encoding.strtolocal( |
62 date.strftime(encoding.strfromlocal(opts[b'dateformat'])) |
61 date.strftime(encoding.strfromlocal(opts['dateformat'])) |
63 ) |
62 ) |
64 |
63 |
65 else: |
64 else: |
66 tmpl = opts.get(b'oldtemplate') or opts.get(b'template') |
65 tmpl = opts.get('oldtemplate') or opts.get('template') |
67 tmpl = logcmdutil.maketemplater(ui, repo, tmpl) |
66 tmpl = logcmdutil.maketemplater(ui, repo, tmpl) |
68 |
67 |
69 def getkey(ctx): |
68 def getkey(ctx): |
70 ui.pushbuffer() |
69 ui.pushbuffer() |
71 tmpl.show(ctx) |
70 tmpl.show(ctx) |
78 |
77 |
79 def prep(ctx, fmatch): |
78 def prep(ctx, fmatch): |
80 rev = ctx.rev() |
79 rev = ctx.rev() |
81 key = getkey(ctx).strip() |
80 key = getkey(ctx).strip() |
82 key = amap.get(key, key) # alias remap |
81 key = amap.get(key, key) # alias remap |
83 if opts.get(b'changesets'): |
82 if opts.get('changesets'): |
84 rate[key] = (rate.get(key, (0,))[0] + 1, 0) |
83 rate[key] = (rate.get(key, (0,))[0] + 1, 0) |
85 else: |
84 else: |
86 parents = ctx.parents() |
85 parents = ctx.parents() |
87 if len(parents) > 1: |
86 if len(parents) > 1: |
88 ui.note(_(b'revision %d is a merge, ignoring...\n') % (rev,)) |
87 ui.note(_(b'revision %d is a merge, ignoring...\n') % (rev,)) |
94 |
93 |
95 progress.increment() |
94 progress.increment() |
96 |
95 |
97 wopts = logcmdutil.walkopts( |
96 wopts = logcmdutil.walkopts( |
98 pats=pats, |
97 pats=pats, |
99 opts=opts, |
98 opts=pycompat.byteskwargs(opts), |
100 revspec=opts[b'rev'], |
99 revspec=opts['rev'], |
101 date=opts[b'date'], |
100 date=opts['date'], |
102 include_pats=opts[b'include'], |
101 include_pats=opts['include'], |
103 exclude_pats=opts[b'exclude'], |
102 exclude_pats=opts['exclude'], |
104 ) |
103 ) |
105 revs, makefilematcher = logcmdutil.makewalker(repo, wopts) |
104 revs, makefilematcher = logcmdutil.makewalker(repo, wopts) |
106 for ctx in scmutil.walkchangerevs(repo, revs, makefilematcher, prep): |
105 for ctx in scmutil.walkchangerevs(repo, revs, makefilematcher, prep): |
107 continue |
106 continue |
108 |
107 |