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