[IPython-dev] how to contribute to ipython

Ondrej Certik ondrej at certik.cz
Thu Jul 16 16:30:48 EDT 2009


On Thu, Jul 16, 2009 at 2:27 PM, Ondrej Certik<ondrej at certik.cz> wrote:
> On Thu, Jul 16, 2009 at 12:33 PM, Ondrej Certik<ondrej at certik.cz> wrote:
>> On Thu, Jul 16, 2009 at 12:06 PM, Ville M. Vainio<vivainio at gmail.com> wrote:
>>> On Thu, Jul 16, 2009 at 8:39 PM, Ondrej Certik<ondrej at certik.cz> wrote:
>>>
>>>> Ok, so I will keep committing. But here is a real problem. I commitetd
>>>> with an email address ondrej at crow by a mistake and I would like to use
>>>> my real address, before you merge it in. In other words, I need to fix
>>>> last two commits. How can I do that?
>>>
>>> If you don't mind some low-tech legwork, you can do a new branch and
>>> get your changes there by bzr diff + standard 'patch' app.
>>
>> Well, what are my options?
>>
>> 1) have ondrej at crow in the ipython history
>> 2) use the old good patch app.
>>
>> Well, I do want to fix my email address. Imagine I noticed after
>> committing ~20 patches. I would not be happy to rework everything
>> using "patch". For comparison, with git, I would do:
>>
>> git rebase -i HEAD~20      # assuming I have 20 patches to fix
>> # vim fires up, I change "e" next to each patch I want to edit and then
>> git --amend --author="Ondrej Certik <my correct email address>"
>> git rebase --continue
>> # repeat the last two commands 20 times
>>
>> and I am done. Let me search the internet, there must be some better
>> way than to do a new branch and rework everything from scratch.
>
> Ok, so there is a better way.
>
> First I did "bzr whoami <correct name+email>" and this fixes the email
> in the last commit:
>
> bzr uncommit
> bzr commit -m "set_trace() moved from __init__.py to ipapi.py"
>
> Yes, I have to recommit the log (git allow you to reuse the log of the
> old, deleted, commit), but it's already a big step forward.
>
> However, now I have this problem:
>
> $ bzr push
> Using saved push location:
> bzr+ssh://bazaar.launchpad.net/~ipython-dev/ipython/set_trace/
> bzr: ERROR: These branches have diverged.  Try using "merge" and then "push".1
>
> I just changed my email. Git has "git push -f", which rewrites the
> remote branch. Ok, let me dig some more into this.

Very cool, now this works!

$ bzr push --overwrite
Using saved push location:
bzr+ssh://bazaar.launchpad.net/~ipython-dev/ipython/set_trace/
Pushed up to revision 1176.

So now the only problem is to figure out how to fix the 2nd commit from top.

Ondrej



More information about the IPython-dev mailing list