21 June, 2008

Now KDevelop has basic Git support!

Give up, Centralized Version Control systems, it's time of DVCS! :)

Before giving you a keyboard-speech I want to say “Thank you” to Alexandr Dymo (adymo), Andreas Pakulat (apaku), Vladimir Prus (volodya) and other folks from KDevelop team for their help. And of course I would like to thank Shawn O. Pearce from git for helping on the first stage.

This month was hard for me: I had serious family problems, exams, was tired and upset, so did a lot of ugly bugs (ok, stopping wining: they where pretty enough). But now it seems that bad things have gone: my dear granny is ok now (as it can be, when somebody has cancer), I will have the last exams next week and finish my semester. Also now I have a basic git support in KDevelop.
Few things about development. As a template I took cvs plugin, so it was really easy to implement my git plugin, I had to think only about few things. After speaking with Shawn O. Pearce (he develops Eclipse Git plugin, and also GSoC git admin this year) my mentor and I decided to use cmdline iface (my project's task is to bring Git to KDevelop and not to implement C++ Git): that is good since CVS uses cmdline iface too. So... I just rewrote CVS-related code, changed some interfaces (now we have IDistributedVersionControl and ICentralizedVersionControl based on IBasicVersionControl). Also I have fixed some bugs in SVN (minor fix) and CVS plugins (was really broken), so if you don't understand DVCS rules, enjoy old toys like CVS and SVN.
Screenshots time (not so sexy, but if you like git and KDevelop you would like to see):

You may get gitplugin from http://repo.or.cz/w/kdevelopdvcssupport.git (branch my or GitPlugin). You can get only plugins/git and plugins/CMakeLists.txt and use kdevplatform from KDE's SVN. I hope to push gitplugin to the SVN, so maybe you just have to update your kdevplatform directory. Some important features like clone, etc are ready, but required some love, so I will finish them only next week.

After next week I will have much more time to code (I hope about 40 hours per week), so will have better results :)
Stay tuned!


Anonymous said...

Great work! Thanks all your work! :-)

Justin L said...

thank you so much! i love kdevelop!