REMINDER: Final review of VCS interfaces

Matthew Woehlke mw_triad at users.sourceforge.net
Thu May 24 17:21:20 UTC 2007


Robert Gruber wrote:
> *) CVS offers some more options that are not common and will 
>    therefore not be part of the interface (i think!?)
>    E.g. when adding binary file, an additional option needs to 
>    be passed to "cvs add". That's why KDev3 offers two separat 
>    menu entries for adding files.
>    How will such "extensions" be handled? Will CvsPlugin need to 
>    implement a second interface, let's say ICvs, that provides 
>    an overloaded add() method?
>    "cvs add" is not the only such thing, a lot of cvs actions 
>    allow additional options.

Where extra options are important, overloads can be provided in ICvsVC. 
Properties are so VCS-specific I hesitate to do anything in IBasicVC. 
Maybe add() could have at least an isBinary flag? (Non-supporting VCS's 
can ignore it). Maybe also hasExecPermission?

> *) Why is CvsJob not derived from KJob?
> 
> *) I'm not really sure what's the difference between diff() 
>    and showDiff() and the other show*() methods. 
>    Will the show*() methods popup a dialog showing the diff,
>    the log and so on? If so, why do they return VcsJob?

foo() returns machine-parsable information, showFoo() displays a GUI. 
The job is (I assume) so that you know when the dialog is closed, if the 
method failed, etc.

-- 
Matthew
"Nobody expects the traditional Bourne shell!"





More information about the KDevelop-devel mailing list