contrib/debugshell.py
changeset 11633 6b7b99867ada
child 19771 3bc675361206
equal deleted inserted replaced
11632:f418d2570920 11633:6b7b99867ada
       
     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 }