52 df = False |
52 df = False |
53 if opts.get('date'): |
53 if opts.get('date'): |
54 df = util.matchdate(opts['date']) |
54 df = util.matchdate(opts['date']) |
55 |
55 |
56 m = cmdutil.match(repo, pats, opts) |
56 m = cmdutil.match(repo, pats, opts) |
57 for st, ctx, fns in cmdutil.walkchangerevs(ui, repo, m, opts): |
57 def prep(ctx, fns): |
58 if not st == 'add': |
|
59 continue |
|
60 |
|
61 rev = ctx.rev() |
58 rev = ctx.rev() |
62 if df and not df(ctx.date()[0]): # doesn't match date format |
59 if df and not df(ctx.date()[0]): # doesn't match date format |
63 continue |
60 return |
64 |
61 |
65 key = getkey(ctx) |
62 key = getkey(ctx) |
66 key = amap.get(key, key) # alias remap |
63 key = amap.get(key, key) # alias remap |
67 if opts.get('changesets'): |
64 if opts.get('changesets'): |
68 rate[key] = rate.get(key, 0) + 1 |
65 rate[key] = rate.get(key, 0) + 1 |
69 else: |
66 else: |
70 parents = ctx.parents() |
67 parents = ctx.parents() |
71 if len(parents) > 1: |
68 if len(parents) > 1: |
72 ui.note(_('Revision %d is a merge, ignoring...\n') % (rev,)) |
69 ui.note(_('Revision %d is a merge, ignoring...\n') % (rev,)) |
73 continue |
70 return |
74 |
71 |
75 ctx1 = parents[0] |
72 ctx1 = parents[0] |
76 lines = changedlines(ui, repo, ctx1, ctx, fns) |
73 lines = changedlines(ui, repo, ctx1, ctx, fns) |
77 rate[key] = rate.get(key, 0) + lines |
74 rate[key] = rate.get(key, 0) + lines |
78 |
75 |
81 newpct = int(100.0 * count / max(len(repo), 1)) |
78 newpct = int(100.0 * count / max(len(repo), 1)) |
82 if pct < newpct: |
79 if pct < newpct: |
83 pct = newpct |
80 pct = newpct |
84 ui.write("\r" + _("generating stats: %d%%") % pct) |
81 ui.write("\r" + _("generating stats: %d%%") % pct) |
85 sys.stdout.flush() |
82 sys.stdout.flush() |
|
83 |
|
84 for ctx in cmdutil.walkchangerevs(ui, repo, m, opts, prep): |
|
85 continue |
86 |
86 |
87 if opts.get('progress'): |
87 if opts.get('progress'): |
88 ui.write("\r") |
88 ui.write("\r") |
89 sys.stdout.flush() |
89 sys.stdout.flush() |
90 |
90 |