Mercurial > public > mercurial-scm > hg-stable
diff mercurial/commands.py @ 6747:f6c00b17387c
use repo[changeid] to get a changectx
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 26 Jun 2008 14:35:46 -0500 |
parents | 1dca460e7d1e |
children | c6cc35a3d1de |
line wrap: on
line diff
--- a/mercurial/commands.py Thu Jun 26 13:58:24 2008 -0500 +++ b/mercurial/commands.py Thu Jun 26 14:35:46 2008 -0500 @@ -107,7 +107,7 @@ lastfunc = funcmap[-1] funcmap[-1] = lambda x: "%s:%s" % (lastfunc(x), x[1]) - ctx = repo.changectx(opts['rev']) + ctx = repo[opts['rev']] m = cmdutil.match(repo, pats, opts) for abs in repo.walk(m, ctx.node()): @@ -154,7 +154,7 @@ The default is the basename of the archive, with suffixes removed. ''' - ctx = repo.changectx(opts['rev']) + ctx = repo[opts['rev']] if not ctx: raise util.Abort(_('repository has no revisions')) node = ctx.node() @@ -359,7 +359,7 @@ if label: if not opts.get('force') and label in repo.branchtags(): - if label not in [p.branch() for p in repo.changectx(None).parents()]: + if label not in [p.branch() for p in repo.parents()]: raise util.Abort(_('a branch of the same name already exists' ' (use --force to override)')) repo.dirstate.setbranch(util.fromlocal(label)) @@ -378,7 +378,7 @@ Use the command 'hg update' to switch to an existing branch. """ hexfunc = ui.debugflag and hex or short - activebranches = [util.tolocal(repo.changectx(n).branch()) + activebranches = [util.tolocal(repo[n].branch()) for n in repo.heads()] branches = [(tag in activebranches, repo.changelog.rev(node), tag) for tag, node in repo.branchtags().items()] @@ -483,7 +483,7 @@ %d dirname of file being printed, or '.' if in repo root %p root-relative path name of file being printed """ - ctx = repo.changectx(opts['rev']) + ctx = repo[opts['rev']] err = 1 m = cmdutil.match(repo, (file1,) + pats, opts) for abs in repo.walk(m, ctx.node()): @@ -647,23 +647,20 @@ and 'yes' or 'no')) os.unlink('.debugfsinfo') -def debugrebuildstate(ui, repo, rev=""): +def debugrebuildstate(ui, repo, rev="tip"): """rebuild the dirstate as it would look like for the given revision""" - if rev == "": - rev = repo.changelog.tip() - ctx = repo.changectx(rev) - files = ctx.manifest() + ctx = repo[rev] wlock = repo.wlock() try: - repo.dirstate.rebuild(rev, files) + repo.dirstate.rebuild(ctx.node(), ctx.manifest()) finally: del wlock def debugcheckstate(ui, repo): """validate the correctness of the current dirstate""" parent1, parent2 = repo.dirstate.parents() - m1 = repo.changectx(parent1).manifest() - m2 = repo.changectx(parent2).manifest() + m1 = repo[parent1].manifest() + m2 = repo[parent2].manifest() errors = 0 for f in repo.dirstate: state = repo.dirstate[f] @@ -913,7 +910,7 @@ def debugrename(ui, repo, file1, *pats, **opts): """dump rename information""" - ctx = repo.changectx(opts.get('rev', 'tip')) + ctx = repo[opts.get('rev', 'tip')] m = cmdutil.match(repo, (file1,) + pats, opts) for abs in repo.walk(m, ctx.node()): fctx = ctx.filectx(abs) @@ -1122,7 +1119,7 @@ fstate = {} skip = {} - get = util.cachefunc(lambda r: repo.changectx(r).changeset()) + get = util.cachefunc(lambda r: repo[r].changeset()) changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts) found = False follow = opts.get('follow') @@ -1130,7 +1127,7 @@ if st == 'window': matches.clear() elif st == 'add': - ctx = repo.changectx(rev) + ctx = repo[rev] matches[rev] = {} for fn in fns: if fn in skip: @@ -1202,7 +1199,7 @@ heads = [] visitedset = util.set() for branchrev in branchrevs: - branch = repo.changectx(branchrev).branch() + branch = repo[branchrev].branch() if branch in visitedset: continue visitedset.add(branch) @@ -1454,7 +1451,7 @@ "can't query remote revision number, branch, or tags") output = [hexfunc(srepo.lookup(rev))] elif not rev: - ctx = repo.changectx(None) + ctx = repo[None] parents = ctx.parents() changed = False if default or id or num: @@ -1466,7 +1463,7 @@ output.append("%s%s" % ('+'.join([str(p.rev()) for p in parents]), (changed) and "+" or "")) else: - ctx = repo.changectx(rev) + ctx = repo[rev] if default or id: output = [hexfunc(ctx.node())] if num: @@ -1563,7 +1560,7 @@ message = None ui.debug(_('message:\n%s\n') % message) - wp = repo.changectx(None).parents() + wp = repo.parents() if opts.get('exact'): if not nodeid or not p1: raise util.Abort(_('not a mercurial patch')) @@ -1756,7 +1753,7 @@ """ - get = util.cachefunc(lambda r: repo.changectx(r).changeset()) + get = util.cachefunc(lambda r: repo[r].changeset()) changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts) limit = cmdutil.loglimit(opts) @@ -1793,7 +1790,7 @@ # filectx logic. try: - return repo.changectx(rev).filectx(fn).renamed() + return repo[rev][fn].renamed() except revlog.LookupError: pass return None @@ -1869,7 +1866,7 @@ if not node: node = rev - m = repo.changectx(node).manifest() + m = repo[node].manifest() files = m.keys() files.sort() @@ -1916,7 +1913,7 @@ "please merge with an explicit rev") % branch) msg = _('there is nothing to merge') - if parent != repo.lookup(repo.changectx(None).branch()): + if parent != repo.lookup(repo[None].branch()): msg = _('%s - use "hg update" instead') % msg raise util.Abort(msg) @@ -1973,9 +1970,9 @@ """ rev = opts.get('rev') if rev: - ctx = repo.changectx(rev) + ctx = repo[rev] else: - ctx = repo.changectx(None) + ctx = repo[None] if file_: m = cmdutil.match(repo, (file_,), opts) @@ -2297,7 +2294,7 @@ elif opts.get("unmark"): ms.mark(f, "u") else: - wctx = repo.changectx(None) + wctx = repo[None] mctx = wctx.parents()[-1] ms.resolve(f, wctx, mctx) @@ -2348,7 +2345,7 @@ if not opts['rev'] and p2 != nullid: raise util.Abort(_('uncommitted merge - please provide a ' 'specific revision')) - ctx = repo.changectx(opts['rev']) + ctx = repo[opts['rev']] node = ctx.node() mf = ctx.manifest() if node == parent: @@ -2466,7 +2463,7 @@ if pmf is None: # only need parent manifest in this unlikely case, # so do not read by default - pmf = repo.changectx(parent).manifest() + pmf = repo[parent].manifest() if abs in pmf: if mfentry: # if version of file is same in parent and target @@ -2668,9 +2665,9 @@ changestates = zip(states, 'MAR!?IC', stat) if (opts['all'] or opts['copies']) and not opts['no_status']: - ctxn = repo.changectx(nullid) - ctx1 = repo.changectx(node1) - ctx2 = repo.changectx(node2) + ctxn = repo[nullid] + ctx1 = repo[node1] + ctx2 = repo[node2] added = stat[1] if node2 is None: added = stat[0] + stat[1] # merged? @@ -2744,7 +2741,7 @@ if not rev_ and repo.dirstate.parents()[1] != nullid: raise util.Abort(_('uncommitted merge - please provide a ' 'specific revision')) - r = repo.changectx(rev_).node() + r = repo[rev_].node() if not message: message = (_('Added tag %s for changeset %s') %