VCS Interface classes

Jakob Petsovits jpetso at gmx.at
Mon Apr 30 07:34:40 UTC 2007


On Monday, 30. April 2007, Andreas Pakulat wrote:
> I present to you our new VCS interface classes (that I finally managed
> to write up, based on the enourmus thread some time ago).

Beautiful!

Here's my comments for ibasicversioncontrolh.h, maybe I've got time to look at 
the other ones later.

* ibasicversioncontrolh.h has an "h" too much, both in its filename and the 
header guard.

* I think isValidDirectory() should be named isWorkingCopy(), because on 
reading this name you instantly know what is asked for.
("what does valid mean here?")

* edit() is also not quite what the method is doing, how about setEditable()?

* repositoryRevision() vs. localRevision() - what is the difference here?
After all, you never create a new revision as long as you don't commit the 
file to the repository, after which the two methods are supposed to return 
the same value again, right? What am I missing here?
Also, any particular reason why the parameter is restricted to local copies?

* commit(): I think the first parameter should be a list of locations, instead 
of only one location. Think of stuff like svn commit file1.h file2.h while 
you've got a load of other locally modified files in the same directory.

* The above essentially also applies to diff(), but I'm not sure if it's a 
good thing to make the parameters more complicated for such an edge case.
Question: what dstRevision will the method receive if the LocationDst is a 
locally modified file inside the working copy? That's important to document, 
as it's the primary use case.




More information about the KDevelop-devel mailing list