[KDev4] VCS interfaces draft

Alexander Dymo dymo at ukrpost.ua
Thu Mar 22 20:49:36 UTC 2007


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;

> 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

From more major modifications, I'd say that the interface is not enough.
What if we have more methods in IVersionControl? Something along these lines:

bool commit(KUrl::List &);
bool add(KUrl::List &);
bool remove(KUrl::List &);
....
etc.


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




More information about the KDevelop-devel mailing list