Mercurial > public > mercurial-scm > hg-stable
view contrib/debugshell.py @ 19772:6ccec36a1fd9
debugshell: add function to embed ipython
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Sun, 14 Jul 2013 12:02:36 -0500 |
parents | 3bc675361206 |
children | 51799a965446 |
line wrap: on
line source
# debugshell extension """a python shell with repo, changelog & manifest objects""" import mercurial import code def pdb(ui, repo, msg, **opts): objects = { 'mercurial': mercurial, 'repo': repo, 'cl': repo.changelog, 'mf': repo.manifest, } code.interact(msg, local=objects) def ipdb(ui, repo, msg, **opts): import IPython cl = repo.changelog mf = repo.manifest IPython.embed() def debugshell(ui, repo, **opts): bannermsg = "loaded repo : %s\n" \ "using source: %s" % (repo.root, mercurial.__path__[0]) pdb(ui, repo, bannermsg, **opts) cmdtable = { "debugshell|dbsh": (debugshell, []) }