Mercurial > hg
annotate contrib/debugshell.py @ 18093:9c76da468a19
rebase: use lazy ancestor membership testing
For a repository with over 400,000 commits, rebasing one revision near tip,
this avoids one walk up the DAG, speeding the operation up by around 0.8
seconds.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Mon, 17 Dec 2012 20:51:21 -0800 |
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 } |