contrib/debugshell.py
author Adrian Buehlmann <adrian@cadifra.com>
Mon, 14 Feb 2011 11:12:22 +0100
changeset 13374 1c613c1ae43d
parent 11633 6b7b99867ada
child 19771 3bc675361206
permissions -rw-r--r--
win32: optimize parameters for the CreateFile call in _getfileinfo Set dwDesiredAccess to 0 instead of GENERIC_READ. Zero is enough for querying the file metadata. We don't even need to access the -contents- of the file. Set dwShareMode to FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE instead of the overly restrictive FILE_SHARE_READ. There is no need to cause write or delete accesses by other processes to fail while we are querying file metadata. See http://msdn.microsoft.com/en-us/library/aa363858(v=vs.85).aspx

# debugshell extension
"""a python shell with repo, changelog & manifest objects"""

import mercurial
import code

def debugshell(ui, repo, **opts):
    objects = {
        'mercurial': mercurial,
        'repo': repo,
        'cl': repo.changelog,
        'mf': repo.manifest,
    }
    bannermsg = "loaded repo : %s\n" \
                "using source: %s" % (repo.root,
                                      mercurial.__path__[0])
    code.interact(bannermsg, local=objects)

cmdtable = {
    "debugshell|dbsh": (debugshell, [])
}