Steve: Developing on the Edge - Stil alive, still not come to terms with git
Steve: Developing on the Edge
Thoughts on development, Web-services, technology and mountains.
21Dec
Mon2009
Stil alive, still not come to terms with git

People keep sending emails asking the big question "Do you understand git yet?", I can assume that if they answer I am in fact live. However, from the Lamport liveness rule, "Capable of doing useful work" I am not yet fully come to terms with git, so for getting patches into the Hadoop trunk, my time spent with it so far is more suffering than doing. You think you have it, and then suddenly: no, you don't understand that at all. By the Lamport definition then: not live, at least not w.r.t Hadoop.

I've been taking baby steps on the foundational patches: an isAlive() query on the HttpServer, ability to spec timeouts on RPC connections, other things. This teaches me to suffer with small changes to the codebase. I am suffering.

Take one problem, HttpServer liveness. The code patch went up to Jira, Hudson liked it, but not the lack of tests. So: I write the tests, and am now left with a problem: how to create a patch file from three changes, one creating a new file, the other two editing HttpServer, when there have been some other (merged in) changes to HttpServer in the meantime. I am sure that once I understand Git properly this will be trivial and I will laugh at my ignorance, but now I don't know, and I've been trying really hard to not do the svn escape clause, edit the patch files by hand.

Anyway, it will keep me entertained over xmas. I am still not breathing as if I was at ground level, and so have not been out to enjoy today's fresh snow by falling off my bicycle.

Comments

Branch and Rebasereply to this thread
On 22 December 2009 at 00: 30 Sam Ruby commented:
Short answer: make a branch, commit as frequently as you would have anyway; and periodically rebase:
When you are ready, create a patch for a series of commits:
On 22 December 2009 at 09: 33 Steve Loughran commented:
I thought it was something like that, so I've done a clean checkout and am going to come to terms with git on one machine without playing with publishing via git push. With one branch per JIRA, I also need to work out how to have branches that merge in other branches.
On 1 February 2010 at 13: 26 James Abley commented:
I don't know if you've seen this - nice overview of git.