[IPython-dev] how to contribute to ipython

Ondrej Certik ondrej at certik.cz
Thu Jul 16 18:00:49 EDT 2009

On Thu, Jul 16, 2009 at 3:32 PM, Brian Granger<ellisonbg.net at gmail.com> wrote:
>> > Once you accept that this is what "commit" means, your hypothetical of
>> > "what
>> > if I had to change 20 commits" doesn't make sense.  Again, the bottom
>> > line
>> > is that the conceptual model of bzr is different from git (at least in
>> > this
>> > area).
>> Well, I made a mistake in my commit. And bzr punished me for that.
> Yes, I agree.  In some ways, your mistake (wrong email) is different from a
> content mistake in the actual source code.  You are completely right that
> content mistakes can be fixed by further commits, but wrong email mistakes
> cannot (easily).  I guess that is why the bzr docs have the whoami stuff at
> the top of the docs.  But they could be more clear about why it needs to be
> done *before* you commit.

After this is pushed in, let me contribute some more stuff using bzr
to ipython, maybe some example docstrings, to get more feeling for it.
How do you run doctests in ipython?

Btw, running scripts/iptest on the latest bzr, I got lots of failures
of the type:

  File "/home/ondrej/ext/code/ipython/IPython/__init__.py", line 63, in <module>
    from IPython import Release # do it explicitly so pydoc can see it
- pydoc bug
ImportError: cannot import name Release

is this a known bug?

But generally, so far my impression is that bzr is more like hg --- I
hated that "hg" also punished me for every single mistake I did on my
local laptop (before I pushed the branch for other people to use). Hg
has at least mercurial queues, which allow some kind of patch editing
(but it's still pain). But git approach is very different -- it says,
do what you want, I am not going to punish you for anything, I am here
to help you do what you want, not to force you to do something and
punish you for not obeying -- e.g. git "you tell me what to do, and
I'll do it as best as I can." while bzr seems more like "I support
this workflow, and if you want something else, it's your problem. read
the manual before using me and don't whine if you make a mistake and
there is no easy way to fix it -- it was in the manual". :)


More information about the IPython-dev mailing list