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