Mercurial > hg
annotate contrib/debugshell.py @ 19629:81241f978fd2
bundlerevlog: extract 'baserevision' method
This makes possible to use bundlerevlog class with subclasses of revlog
that override revlog's 'revision' method. In particular this change is necessary
to implement manifest compression, as it allows extension to replace manifest
class and override 'revision' method there.
author | Wojciech Lopata <lopek@fb.com> |
---|---|
date | Mon, 26 Aug 2013 16:50:31 -0700 |
parents | 6b7b99867ada |
children | 3bc675361206 |
rev | line source |
---|---|
11633 | 1 # debugshell extension |
2 """a python shell with repo, changelog & manifest objects""" | |
3 | |
4 import mercurial | |
5 import code | |
6 | |
7 def debugshell(ui, repo, **opts): | |
8 objects = { | |
9 'mercurial': mercurial, | |
10 'repo': repo, | |
11 'cl': repo.changelog, | |
12 'mf': repo.manifest, | |
13 } | |
14 bannermsg = "loaded repo : %s\n" \ | |
15 "using source: %s" % (repo.root, | |
16 mercurial.__path__[0]) | |
17 code.interact(bannermsg, local=objects) | |
18 | |
19 cmdtable = { | |
20 "debugshell|dbsh": (debugshell, []) | |
21 } |