[IPython-dev] how to contribute to ipython

Ondrej Certik ondrej at certik.cz
Thu Jul 16 13:39:00 EDT 2009

On Thu, Jul 16, 2009 at 11:28 AM, Brian Granger<ellisonbg.net at gmail.com> wrote:
>> Right, thanks for this. Now let's say you tell me to move the function
>> to some other file. I go to the set_trace branch, move the function.
>> Now what -- is there a way to fix the latest commit? Or do I need to
>> commit one more commit? What if I have to fix the 3rd commit from the
>> top? Is there a way to do it?
> You just keep committing.  Our philosophy at this point is that all commits
> are worth keeping as it shows the logic of how things were developed.  Often
> times, it is useful to see that logic looking back as it allows you to see
> what was tried and why it needed to be modified and how it was modified.
> With git rebase, you only see the final result (which I agree is very
> clean).  The review system on launchpad actually works pretty well with this
> "just keep committing" approach.
>> Now, what if I want to rebase my branch on top of the (updated) main
>> ipython branch? E.g. not merge, but rebase. One way would be to export
>> the patch to a file, delete the latest commit (is there some easy way
>> to do that?), merge the main ipython branch and then manually apply
>> the patch, and fix all collisions myself.
> Definitely too painful.  Just keep committing.
>> Those are things that I was doing in mercurial, and it was a pain, but
>> doable, until I got fedup and switched to git. In git it's super easy.
>> So now I want to learn how to do it in bzr, so that I can compare.
>> Then I can say which of bzr, hg, git is the best. :)
> If you like to rebase, you will NOT like bzr.

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?

> Cheers,
> Brian
> PS - even though I *really* like git, I agree with Ville that it is more
> complicated to learn and you have to use it often to keep it in your head.
> bzr is simple enough that I can step away from it for 3 months and when I
> come back, I remember everything.  With git, after even a week away, I have
> to start digging in the docs again.

I'll comment to these later, after I really learn bazaar. Now only let
me say, that you can work with git exactly the same way as with
bazaar, e.g. just do:

git clone git://git.sympy.org/sympy.git

totally forget about git branches and just work with directories, e.g:

cd /tmp
git clone ~/repos/sympy

etc. Then commit using "git ci" etc. And if you want to merge, just
use "git pull ~/repos/sympy master"   (yes, that's the only
difference, that you tell git which branch to pull from, e.g.
"master", since you don't use any other git branches)


More information about the IPython-dev mailing list