Archive

Posts Tagged ‘egit’

Eclipse Community Awards 2011

March 22nd, 2011 7 comments

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

January 29th, 2011 No comments

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

January 22nd, 2011 2 comments

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

November 27th, 2010 No comments

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.

The worst thing that could happen when you have ‘hands on’ presentation

October 24th, 2010 5 comments

I love ‘hands on’ presentation they are so awesome and give so damn god impression. I’ve decided to prepare such presentation on Warsjawa 2010. Now I know how much self control and cold blood is needed to give such presentation.

Before Warsjawa conference I’ve prepared a list of features that I would like to show, I even write down list of steps that I should follow during presentation. All demos was two or three times repeated and trained … it looks like nothing bad could happen … ‘but’, yes there always is this short lite word ‘but’.

Presentation starts smoothly and with every minute I been more self confident … until 15th or 20th minute when I was smashed out, just blow away. I was showing merge support and it appears that during three-way merge one of line in example file were deleted. Actually it should be marked as conflicting because I’ve made a small mistake any way this shouldn’t be that way. I was there sitting in front of 50 100 or more persons with a nearly discovered bug in core merge functionality … this is a situation that nobody would like to face it. I can’t just go away, that wasn’t a solution … Actually I stay there and even manage to finish presentation and show History and Repositories view, tagging, resetting  and even some other stuff like gerrit and it integration with hudson.

I’ve already create a ticket for this bug in bugzilla and I hope that during next presentation in Szczecin such problems did not occur …

EGit and friends @ Warsjawa 2010

October 16th, 2010 No comments

This is a next opportunity for all persons that understood polish ;) to hear a little bit about EGit and git-connected-software. This time I’ll be speaking at Warsjawa conference, more information about it can be found at warsjawa.pl.

Because of time limitation I’ll only cover EGit and connected software like  gerrit, I’ll skip the git introduction part, but will try to give some quick overview about it during presentation. I think that this is a good opportunity to get familiar with some ideas of distributed version control systems.

EGit ChangeSet shows staged and working tree changes

October 15th, 2010 8 comments

Actually this is quite old feature because it is available in nightly builds since two or more weeks. But I think that is worth mention, because it give a possibility to review current index and working tree status at the same time.

Staged and working tree changes in Synchronize view
To activate this feature simply mark “Include local uncommited changes in comparison” in synchronize dialog and all staged and changed files will be shown in Synchronize view.

EGit @ JUG Szczecin

October 14th, 2010 No comments

On 28th of October I’ll be giving presentation about EGit 0.10 0.9 (and Git in general) on Szczecin JUG meeting. The official announcement can be found on Szczecin’s JUG mailing list (it’s in polish).

This would be my second presentation (first one was at Poznań Eclipse DemoCamp) and it will be quite similar to first one, since they all covers the same topic ;) . Of course it will cover new features of 0.10 0.9 release.

So if you would be near by and would like to hear about EGit in polish feel free to join us ;)

Merge support in JGit/EGit 0.9

August 31st, 2010 1 comment

According to this post of Christian Halstrick and those two commits: 1 2. The upcoming version of JGit and EGit would have merge support! The previous stable version (0.8) had only support for fast-forward merge; all non fast-forward merges must be done using CGit, now all kinds of merge can be done using EGit UI.

The 0.9 version would have more cool features eg. History view improvements, branch and tag dialog improvements and (of course) support for Synchronize view. Say tuned for a full list of new and noteworthy that will be published in upcoming days.

EGit Synchornize ChnageSet – implemented!

August 6th, 2010 6 comments

Finally! I’ve implemented ChangeSet support in EGit! It looks almost the same as I was imagine it before I’ve started coding. The reality and Team API turn out much more complicated then I was thinking of it before Summer Of Code. But hours days of debugging and analyzing code of Team Framework, CVS integration plugin and “Example FileSystem” project finally give me some reasonable results. Apart from code analysis I’ve implemented four or five (I’ve published only two of them 1, 2) different approaches for this problem, all of them had some weakens and issues that latest implementation seams to solve. But now it is unimportant, the most important thing right now is to get this feature merged into EGit as fast as it is possible, another important thing is … the feature list! ;)

Current implementation shows Git Change Set next to “normal change set”. In my humble opinion this should be changed in the feature; Git Change Set view should be set as default view for synchronization for git, because in git we track changes on repository level and cannot import only part of commit. Above Git Change Set we have node that represent repository, if we launch synchronization for more then one repository there would be more nodes on this level. Inside repository node we have list of commits that occurs between two selected points (branches of versions). Every commit is described by text label with contains first 6 characters from commit SHA-1 and first line of commit message. Commits are sorted chronologically, most recent commits are on the top. Inside commit we have list of changes that are associated with this commit. Double click action on file element will launch ChangeEditor window with will display changes that were made between two most recent commits (this one and it parent).

Here is a screenshot how it looks in real world:

It shows list of changes between current HEAD and tag v0.8.4 … from height of scrollbar in Synchronize window we can guess that upcoming 0.9.0 release will contain lots of cool new features and bug fixes ;) ;>

Currently I didn’t manage display change direction (does it is incoming, outgoing or conflicting) I’ll work on that in nearest feature. Another think that I was unable to achieve is “proper resource handling” eg. displaying java packages as this JDT does, to be honest I don’t know that this is achievable but I’ll try … dome day ;) . Next think is context menu and merge/commit/overwrite actions, for now didn’t even think about it, but it also should be done in nearest feature.

What is your opinion about this new feature? Maybe you see something that should be changed, removed or improved? Please, let me know … feedback is strongly appreciated! ;)