contrib/debugshell.py
author Sean Farley <sean.michael.farley@gmail.com>
Wed, 01 May 2013 15:31:39 -0500
branchstable
changeset 19109 26c51e87e807
parent 11633 6b7b99867ada
child 19771 3bc675361206
permissions -rw-r--r--
bookmarks: resolve divergent bookmarks when fowarding bookmark to descendant This patch is a follow-up to 56dd55da2f7d that resolves divergent bookmarks between the to-be-forwarded bookmark MARK and the new descendant. This situation can happen when pulling new changesets, updating to the divergent bookmark, abandoning the previous changesets with strip, and then moving MARK to MARK@N. Test coverage is added.

# 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, [])
}