[KDev4] VCS interfaces draft

Andreas Pakulat apaku at gmx.de
Thu Mar 22 22:45:02 UTC 2007


On 22.03.07 22:49:36, Alexander Dymo wrote:
> On Thursday 22 March 2007 10:53, dukju ahn wrote:
> > I ported VCS extention interfaces from KDev3. This is mainly mere
> > port of KDev3, except
> >
> > class VCSFileInfoMap's key value is changed.
> > Removed VCSFileInfoProvider. IVersionControl will provide fileinfo
> > to external world.
> I'd add some more minor modifications.
> - rename VCSFileInfo to VcsFileInfo to match the new Qt4-ish naming scheme
> - use KUrl type for VcsFileInfo::fileName and other things that need 
>   filenames, directory names, etc.
> - use accessor methods and d-pointers for VcsFileInfo
> - instead of
> virtual const VCSFileInfoMap *statusSync(const QString &dirPath, bool 
> recursive ) = 0;
> I'd prefer to not return a pointer, but rather a reference
> virtual const VCSFileInfoMap &statusSync(const QString &dirPath, bool 
> recursive ) = 0;
> 
> - statusASync look wrong, it also needs to have a reference passed, not void*
> virtual bool statusASync( const QString &dirPath, bool recursive, 
> VCSFileInfoMap &status ) = 0;

Just a little addition which not only applies to vcs stuff: We should
avoid bools and use enums instead. I'm planning to look through lib and
qmake stuff next week or at the upcoming weekend and fix this.

> > One question is that I don't know to which directory this file should
> > go. Other than that, everything seems to be straightforward.
> I'd say lib/interfaces

Uhm, you sure? Until now it doesn't contain any extension interfaces, so
I guess its rather plugins/vcs/interfaces (and later have vcs/cvs and
vcs/svn with the 2 default implementations).

> Speaking about version control,  what is the future of KDevVCSIntegrator's
> that were used by appwizard in kdev3 to create projects in repositories?

I think it should use the extensions interfaces to get a list of plugins
for vcs ext iface and then use their import method. So some
vcsintegrator class that encapsulates is not needed, we have extension
interfaces for that.

Andreas

-- 
You can do very well in speculation where land or anything to do with dirt
is concerned.




More information about the KDevelop-devel mailing list