A year of my contribution into EGit

Few days ago (exactly 2010-03-16) was a first anniversary of my first contribution into EGit project.  Here is my very simple first patch sent into EGit’s Gerrit. It only replaces some old type loops with for-each loop, this is how it starts … Then I implement a tagging dialog, after that Google Summer of Code 2010 comes during with I was implementing Synchronization View support … and so on.

Now when I’m looking on my ohloh account I’m quite surprised  with my contribution size. Currently it shows 127 commits and almost 18000 code lines changed.  For me those statistics are something that I can be proud of 😉

We’ll see what next year will bring ;>

Eclipse Community Awards 2011

This was a very successful day for EGit team and me at EclipseCon. Its starts from very successful tutorial on EGit by Chris Aniszczyk, Matthias Sohn, Shawn Pearce and Stefan Lay. I think that this was largest simultaneous EGit testing that we ever had ;). Some bugs ware found during this tutorial and we (as a EGit developer team) get the most important thing … a users’ feedback! and we are looking forward for more opinions and hints from you about EGit ;>.  Some of the effects of the EGit tutorial can be seen in ours’ gerrit instance 😉

Few hours after EGit Tutorial the results of Eclipse Community Award 2011 were announced … and guess what? The EGit project won in category ‘Most Innovative New Feature or Project’! This is a great success for me and others EGit developers and it is a huge motivation for continue working and improving EGit.

 

Eclipse Community Award 2011 Top ContributorAs you might know, I was nominated in ‘Top Contributor’ category, and if you looks carefully on the left hand side picture of ‘Eclipse Community Award’ statue you might notice that there is my name on it … yes I’m a ‘Top Contributor’ in 2011. This whole history with Eclipse Community Awards was a huge surprise for me, starting from nomination, ending on a moment when I was keeping this statue in my hands. I want to thank everyone for voting on EGit project and me in Eclipse Community Awards. Also I want to encourage every Eclipse committer to participate in Google Summer of Code as a menthor … who knows maybe yours feature GSoC student will also be in feature nominated in Eclipse Community Awards … you only need to give him a chance 😉

Apart form that, big thanks to Google and Eclipse Foundation for giving me opportunity to participate in EclipseCon. Without theirs support I can only dream about participating in EclipseCon. Once again, thank Google!, thank Eclipse Foundation! 😉

BTW.  Any one flying Friday morning from San Jose to Dallas (AA1252) ? ;>

Show non-workspace resources in Git Change Set

Synchronize view in EGit doesn’t show non-workspace files from its very beginning. This issue seams to be very complicated and also it seams to require lots of hacking on team framework and eclipse API.

Few days ago Ilya Ivanov from Intland pushed into our gerrit a patch that should fix this issue. I was very surprised that this change is so small and simple. It only works partially because the compare editor cannot be launched for non-workspace files. In my opinion this patch cannot be merge into master branch without this core functionality, so today I spent about 3 or 4 hours hacking on that topic … and here are results:

As you can see, there is master pom file (with isn’t imported into eclipse workspace) in synchronize view and on the left hand side there is a compare  editor for it, showing what was changed ;>

Currently both patches are waiting for review in gerrit, but I think that they will be merged into master soon 😉

EGit hackfest @ SAP Walldorf

Last week I spent in Walldorf (Germany) at EGit hackfest. I want to attend on all sessions therefore I’ve decided to go there day before and leave Walldorf day after event. Therefore I had some time that I can spent on short tours in Walldorf and Frankfurt. Here is a short summarization things that we manage to achieve during this time in case of synchronize view in EGit.

With Christian Halstrick we manage to speed up synchronization operation. Our starting point was comparing branch stable-0.7 against stable-0.10 from EGit repository with at the beginning takes around 2 minutes. Then using yourkit profiler we manage to reduce synchronization time down to less then 20 seconds on the same data set! The first set of patches that gives most acceleration were already merged into master and are available in latest nightly build of EGit, but there are also some open change sets in gerrit pending for review that should give some performance boost. Even with this improvements synchronization on some large repositories can take more then 5 minures, therefore this topic is still open for me and I’ll continue to hacking on it in feature. Currently one of the slowest part is mapping path of file/folder from git into eclipse’s workspace resource, but this should be improved by new implementation of IWorkspaceRoot.getFileForLocation()/IWorkspaceRoot.getContainerForLocation() in Eclipse 3.7 ;>

Second task that I manage to start working on during hack sessions is supporting context menu action in synchronization. I didn’t finish it but most of code is currently written. I only need to improve some things and test it. I think that in week or two this change should appear in gerrit.

This was great opportunity for meet persons that I only know from mailing list or code reviews in gerrit, especially to meet Matthias Sohn and Stefan Lay 😉 and also rest of EGit team members ;>

I want to thanks Matthias Sohn for organizing such great event and SAP for hosting it!. Many thanks also for my employer NCDC for refunding me part of my trip.

Rebase support in EGit

Thanks to Mathias Kinzler EGit have initial support for rebasing. Currently only the simple scenario is supported, when there are no conflicts between actual and given branch. Currently the only place from with rebase action can be launched is in Git Repositories view, the ‘Rebase’ option is available on each branch node for given repository.

If you want to test this new feature you should install EGit for ours “Bleeding Edge Builds” update site.