[PATCH 3 of 4] debugshell: add function to embed ipython
Kevin Bullock
kbullock+mercurial at ringworld.org
Mon Sep 23 20:26:22 UTC 2013
On 21 Sep 2013, at 11:27 PM, Sean Farley wrote:
> kbullock+mercurial at ringworld.org writes:
>
>> On 20 Sep 2013, at 3:28 PM, Sean Farley wrote:
>>
>>> # HG changeset patch
>>> # User Sean Farley <sean.michael.farley at gmail.com>
>>> # Date 1373821356 18000
>>> # Sun Jul 14 12:02:36 2013 -0500
>>> # Node ID 4c1a591f6674905b8b2ecd09ae2a85de0ba7e84c
>>> # Parent aa9ff65add03b8e535c115c67d5c12c64231b019
>>> debugshell: add function to embed ipython
>>>
>>> diff --git a/contrib/debugshell.py b/contrib/debugshell.py
>>> --- a/contrib/debugshell.py
>>> +++ b/contrib/debugshell.py
>>> @@ -12,10 +12,18 @@
>>> 'mf': repo.manifest,
>>> }
>>>
>>> code.interact(msg, local=objects)
>>>
>>> +def ipdb(ui, repo, msg, **opts):
>>> + import IPython
>>> +
>>> + cl = repo.changelog
>>> + mf = repo.manifest
>>
>> Do ipdb users not also get 'mercurial' and 'repo', or do these come in automagically because of the way we're sucking in IPython?
>
> It's because IPython doesn't have code.interact and instead needs to be
> called with IPython.embed() which doesn't take a 'local=objects'
> parameter.
Right, but does the IPython REPL then just get access to whatever's in scope when you call .embed()?
pacem in terris / мир / शान्ति / سَلاَم / 平和
Kevin R. Bullock
More information about the Mercurial-devel
mailing list