Sharing VCS-related code across KDE apps [Was: Fwd: Re: KDE/kdebase/apps/dolphin/src]

Andreas Pakulat apaku at gmx.de
Sun Aug 2 01:02:55 UTC 2009


On 01.08.09 21:15:10, Peter Penz wrote:
> Hi Andreas,
> 
> I'm forwarding you the mail, as it seems it did not appear at kdevelop-
> devel at kdevelop.org as I'm not subscribed.

Yeah, the list is moderated for non-subscribers and unfortunately one of
the two moderators is currently on vacation and the other one is burried
deeply in work (as it seems). /me needs to talk Amilcar into giving him
admin rights on the website+list....

> I've subscribed myself now to 
> kdevelop-devel, but I think if we continue to discuss the topics we should 
> start a new thread with a better subject :-)

Well a subject can be easily changed, I've done that now and Cc'ed Aaron
again...

From: Peter Penz <peter.penz at gmx.at>
To: "Aaron J. Seigo" <aseigo at kde.org>,
 Faure David <faure at kde.org>
Subject: Re: KDE/kdebase/apps/dolphin/src
Cc: kdevelop-devel at kdevelop.org
 
> On Saturday, 1. August 2009 03:50:57 Aaron J. Seigo wrote:
> > this really, really looks like the kind of thing that would benefit from
> > usage of kdevplatform. there's really no point, in my mind, of rewriting
> > vcs code over and over again in every app that would benefit from it.
> >
> > there seem to be technical obstacles to that, however.
> 
> I agree that this should be not part of an application and rewritten again if 
> there is a quite similar code there already. The code below is just a proof of 
> concept an my plan was to provide a base-API in kdebase/lib/konq and to move 
> the plugin into implementations into kdesdk/revisioncontrol (see 
> http://lists.kde.org/?l=kfm-devel&m=124855492527006&w=2 for details).

Hmm, I guess I missed that mail somehow...

> I was not aware about kdevplatform/plugins/filemanager-stuff... :-/

Well that stuff really is just a thin wrapper around KDirOperator and
not so much what this is all about.

> Hmm... The plugin base class for integrating a revision control system into 
> any kind of QAbstractItemView is quite trivial and currently part of Dolphin:
> 
> http://websvn.kde.org/trunk/KDE/kdebase/apps/dolphin/src/revisioncontrolobserver.h?view=markup

Thats nice already, the emblem-stuff is something which I haven't yet
looked at integrating (not only for the filemanager, but also for
project views and the editor-tabs in kdevelop).

> Would it be possible that someone from the kdevelop team might have a short 
> look into
> http://lists.kde.org/?l=kfm-devel&m=124855492527006&w=2 (description of plugin 
> interface) to check whether it is possible to move the vcs-specific codebases 
> into separate plugins (like Andreas mentions in the other mail)?

Unfortunately thats not enough for us. The really interesting stuff
regarding VCS in KDevelop/KDevPlatform is in

kdevplatform/vcs/*

and related plugins are in

kevplatform/plugins/subversion
kevplatform/plugins/git
kevplatform/plugins/mercurial

As KDevelop wants other plugins to have full access to the VCS API we
need a bit more than the API of your current revisioncontrol plugin.
However I'm pretty sure that the actual implementation of at least the
subversion plugin can easily be moved out - based on the interfaces and
classes in the kdevplatform/vcs library. 

There might not be a need to extract all the interfaces, I guess for
most apps its enough to have the IBasicVC interface which basically
provides access to local working copies/clones of a repository. So the
shared interface would be something based on IBasicVC, but each plugin
would also expose a plugin-specific public API such that
KDevelop/KDevPlatform can implement its complete VCS-API based on that.

Thoughts, Opinions?

Andreas

-- 
Good day to let down old friends who need help.




More information about the KDevelop-devel mailing list