VCS Interface classes

Matthew Woehlke mw_triad at users.sourceforge.net
Tue May 1 17:40:09 UTC 2007


Andreas Pakulat wrote:
> I've updated the interfaces to reflect the stuff that was discussed
> until now.

To clarify: isVersionControlled does not distinguish between "no" and 
"an error occurred", or...?

Would it be possible to change the returns from int to something that 
more clearly indicates that the value is a task ID? A typedef would be 
fine, although I can see using some form of class so that you could 
query e.g. the result, status, etc, from the task object (i.e. more like 
a job). Hmm, that would mean wait() would become a member of the task, I 
guess.

Should localRevision() have a default for the second argument? (I'm not 
sure if this needs to be in the interface?) If this is to be synchronous 
(should it be?), Revision needs a way to specify that an error occurred.

import() and checkout() are not async? (Just checking if that is 
intentional...)

Other suggestions attached in the form of diffs.

Thinking more about RevisionType, I don't think the current system 
works. I think we need to say that plug-ins will subclass Revision and 
provide an overload of RevisionType to add their own values. If you want 
to ask about anything not in the basic interface, you need to invoke the 
plugin's version of localVersion and Revision. (Hmm, and on further 
thought, I guess if we do this, FileVersion can move to the perforce 
backend, so we have just Number again. But IIRC cvs has only file 
number, svn has only global number, and perforce has both, I wonder if 
we should have a way to tell users which they've got?)

...it's looking better, though!

-- 
Matthew
"Will somebody get this walking carpet out of my way?!"
   -- Princess Leia Organa
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ibasicversioncontrolh.h.diff
Type: text/x-patch
Size: 2668 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20070501/77de2ce4/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ibranchingversioncontrol.h.diff
Type: text/x-patch
Size: 561 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20070501/77de2ce4/attachment-0001.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ibrowsingversioncontrol.h.diff
Type: text/x-patch
Size: 1828 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20070501/77de2ce4/attachment-0002.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: irepositoryversioncontrol.h.diff
Type: text/x-patch
Size: 1227 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20070501/77de2ce4/attachment-0003.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vcshelpers.h.diff
Type: text/x-patch
Size: 1613 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20070501/77de2ce4/attachment-0004.diff>


More information about the KDevelop-devel mailing list