20 August, 2008

GSoC is over

Unfortunately GSoC has finished. It was a wonderful adventure: I got new friends, wrote some code (~8350 lines counted by "wc -l", so it includes all crap) and learnt new interesting things. I can say that after today's commit to my git repo (with a lot of changes to yesterday's commit, which is evaluted) I implemented all things I promised. But some things still require a lot of love.
I want to thank all people helped me during this summer:
Alexander Dymo(adymo, KDevelop) — My mentor who is strong both in GUI and Git.
Andreas Pakulat(apaku, KDevelop) — The man who can help with any part of KDevelop(or maybe even ith whole KDE && Qt).
Shawn O. Pearce (spearce, Git) — A man who is not in KDE, but who contacted my mentor and me to suggest his help.
Marco Costalba — QGit author, explained a lot of code from QGit.
Paul Mackerras — Gitk author, explained some basic algorithm (building rev history).
All guys from different IRC channels, mailinglist.
And of course Google for the amazing Open Source Program: Google summer of Code!

Revision (commits) history in KDevelop

I had a lot of non-development problems, but this week I continued to develop my GSoC project (it's the last thing, that can be evaluted, but improved — yesterday's code is very buggy xD).
So here this thing is:

The only thing to implement is branch labels.
Current implementation is very dirty, but it works, the code: http://repo.or.cz/w/kdevelopdvcssupport.git?a=blob;f=plugins/git/gitexecutor.cpp;h=515c9b7336d2bda80c83b5c99e2cbe4de7eb465c;hb=41cda3a2993c5c2f0139c8ba539189bd45d77fd3#l397

In September I will implement another algorithm, used in QGit. Thanks a lot to Marco Costalba (QGit author) for explanation of QGit's algorithm. I also have some tips from Paul Mackerras (gitk author), and maybe I will use it too (but I'm not so strong in bash to read gitk code).
Guys thanks for your help!

06 August, 2008

Branching and Committing in KDevelop

Was offline for a week (or even more), but now I'm back and can continue development.

Here are screens of KDevelop DVCS branching and committing managers. They can work with any DVCS (currently I support only Git code, but will give a love to Mercurial and Bazaar).

Commit manager is a big “quick and dirty”, but I will try to make it clear tomorrow.