diff mercurial/commands.py @ 7369:87158be081b8

cmdutil: use change contexts for cset-printer and cset-templater
author Dirkjan Ochtman <dirkjan@ochtman.nl>
date Fri, 14 Nov 2008 13:59:25 +0100
parents ad7f736f3214
children e17dbf140035
line wrap: on
line diff
--- a/mercurial/commands.py	Fri Nov 14 12:44:26 2008 +0100
+++ b/mercurial/commands.py	Fri Nov 14 13:59:25 2008 +0100
@@ -9,7 +9,7 @@
 from repo import RepoError, NoCapability
 from i18n import _, gettext
 import os, re, sys
-import hg, util, revlog, bundlerepo, extensions, copies
+import hg, util, revlog, bundlerepo, extensions, copies, context
 import difflib, patch, time, help, mdiff, tempfile, url
 import version
 import archival, changegroup, cmdutil, hgweb.server, sshserver, hbisect
@@ -288,13 +288,13 @@
         if len(nodes) == 1:
             # narrowed it down to a single revision
             ui.write(_("The first %s revision is:\n") % transition)
-            displayer.show(changenode=nodes[0])
+            displayer.show(repo[nodes[0]])
         else:
             # multiple possible revisions
             ui.write(_("Due to skipped revisions, the first "
                        "%s revision could be any of:\n") % transition)
             for n in nodes:
-                displayer.show(changenode=n)
+                displayer.show(repo[n])
 
     def check_state(state, interactive=True):
         if not state['good'] or not state['bad']:
@@ -1270,7 +1270,7 @@
         return 1
     displayer = cmdutil.show_changeset(ui, repo, opts)
     for n in heads:
-        displayer.show(changenode=n)
+        displayer.show(repo[n])
 
 def help_(ui, name=None, with_version=False):
     """show help for a given topic or a help overview
@@ -1729,7 +1729,7 @@
             if opts.get('no_merges') and len(parents) == 2:
                 continue
             count += 1
-            displayer.show(changenode=n)
+            displayer.show(other[n])
     finally:
         if hasattr(other, 'close'):
             other.close()
@@ -1867,7 +1867,6 @@
     displayer = cmdutil.show_changeset(ui, repo, opts, True, matchfn)
     for st, rev, fns in changeiter:
         if st == 'add':
-            changenode = repo.changelog.node(rev)
             parents = [p for p in repo.changelog.parentrevs(rev)
                        if p != nullrev]
             if opts.get('no_merges') and len(parents) == 2:
@@ -1913,7 +1912,7 @@
                     rename = getrenamed(fn, rev)
                     if rename:
                         copies.append((fn, rename[0]))
-            displayer.show(rev, changenode, copies=copies)
+            displayer.show(context.changectx(repo, rev), copies=copies)
         elif st == 'iter':
             if count == limit: break
             if displayer.flush(rev):
@@ -2026,7 +2025,7 @@
         if opts.get('no_merges') and len(parents) == 2:
             continue
         count += 1
-        displayer.show(changenode=n)
+        displayer.show(repo[n])
 
 def parents(ui, repo, file_=None, **opts):
     """show the parents of the working dir or revision
@@ -2066,7 +2065,7 @@
     displayer = cmdutil.show_changeset(ui, repo, opts)
     for n in p:
         if n != nullid:
-            displayer.show(changenode=n)
+            displayer.show(repo[n])
 
 def paths(ui, repo, search=None):
     """show definition of symbolic path names
@@ -2842,7 +2841,7 @@
     that repository becomes the current tip. The "tip" tag is special
     and cannot be renamed or assigned to a different changeset.
     """
-    cmdutil.show_changeset(ui, repo, opts).show(len(repo) - 1)
+    cmdutil.show_changeset(ui, repo, opts).show(repo[len(repo) - 1])
 
 def unbundle(ui, repo, fname1, *fnames, **opts):
     """apply one or more changegroup files