--- a/mercurial/commands.py Tue Aug 18 22:07:43 2009 -0400
+++ b/mercurial/commands.py Thu Aug 20 08:34:22 2009 +0200
@@ -1275,9 +1275,9 @@
if opts.get('all'):
cols.append(change)
if opts.get('user'):
- cols.append(ui.shortuser(get(r)[1]))
+ cols.append(ui.shortuser(get(r).user()))
if opts.get('date'):
- cols.append(datefunc(get(r)[2]))
+ cols.append(datefunc(get(r).date()))
if opts.get('files_with_matches'):
c = (fn, r)
if c in filerevmatches:
@@ -1291,7 +1291,7 @@
skip = {}
revfiles = {}
- get = util.cachefunc(lambda r: repo[r].changeset())
+ get = util.cachefunc(lambda r: repo[r])
changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts)
found = False
follow = opts.get('follow')
@@ -1300,7 +1300,7 @@
matches.clear()
revfiles.clear()
elif st == 'add':
- ctx = repo[rev]
+ ctx = get(rev)
pctx = ctx.parents()[0]
parent = pctx.rev()
matches.setdefault(rev, {})
@@ -1334,7 +1334,7 @@
except error.LookupError:
pass
elif st == 'iter':
- parent = repo[rev].parents()[0].rev()
+ parent = get(rev).parents()[0].rev()
for fn in sorted(revfiles.get(rev, [])):
states = matches[rev][fn]
copy = copies.get(rev, {}).get(fn)
@@ -1982,7 +1982,7 @@
will appear in files:.
"""
- get = util.cachefunc(lambda r: repo[r].changeset())
+ get = util.cachefunc(lambda r: repo[r])
changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts)
limit = cmdutil.loglimit(opts)
@@ -2040,40 +2040,37 @@
if opts.get('only_merges') and len(parents) != 2:
continue
- if only_branches:
- revbranch = get(rev)[5]['branch']
- if revbranch not in only_branches:
- continue
-
- if df:
- changes = get(rev)
- if not df(changes[2][0]):
- continue
+ ctx = get(rev)
+ if only_branches and ctx.branch() not in only_branches:
+ continue
+
+ if df and not df(ctx.date()):
+ continue
if opts.get('keyword'):
- changes = get(rev)
miss = 0
for k in [kw.lower() for kw in opts['keyword']]:
- if not (k in changes[1].lower() or
- k in changes[4].lower() or
- k in " ".join(changes[3]).lower()):
+ if not (k in ctx.user().lower() or
+ k in ctx.description().lower() or
+ k in " ".join(ctx.files()[3]).lower()):
miss = 1
break
if miss:
continue
if opts['user']:
- changes = get(rev)
- if not [k for k in opts['user'] if k in changes[1]]:
+ if not [k for k in opts['user'] if k in ctx.user()]:
continue
copies = []
if opts.get('copies') and rev:
- for fn in get(rev)[3]:
+ for fn in ctx.files():
rename = getrenamed(fn, rev)
if rename:
copies.append((fn, rename[0]))
- displayer.show(context.changectx(repo, rev), copies=copies)
+
+ displayer.show(ctx, copies=copies)
+
elif st == 'iter':
if count == limit: break
if displayer.flush(rev):