[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