VCS Gui-Interface "Design"

Andreas Pakulat apaku at gmx.de
Wed Sep 5 17:33:14 UTC 2007


On 04.09.07 18:53:59, Andreas Pakulat wrote:
> Hi,
> 
> I'd like to discuss how the Vcs support should surface in the KDevelop
> GUI. The main question here is: Do we want to "hide" the actual Vcs
> System used for a file/folder from the user and provide something like a
> "Version Control" entry in context menu and such?
> 
> That would mean we limit KDevelop to 1 Vcs System per project, which
> isn't extremely unreasonable though there might be cases where people
> have CVS and .svn in the same project (been there, done that). Of course
> this would happen _only_ for the actions in IBasicVersionControl+ any
> actions from the other vcs-ifaces that the plugin provides. A Vcs Plugin
> may still provide an additional entry for any special actions it wants
> to provide.
> 
> The main reason for this approach would be consistency, i.e. no matter
> what Vcs you're using, you'd get the same GUI items. But it also would
> mean we don't have to provide tons of API on the plugin class itself,
> because this would simply use the IBasicVersionControl API that the
> plugin has already - the svn plugin currently has I think 3 or 4 methods
> for each action, 2 from the iface and 2 other which is a lot of
> duplication.

As I promised Matt I had a closer look at the interfaces and the
attached diff against current trunk is the result.  I found there are
not that many showXXX methods that need to be removed, but in fact two
should be added.

My decision was simply based on wether a given action returns more than
just a "finished/error" result or not, so any action that returns actual
data (like file content, file listing, log, changeset and so on) has now
a showXXX method.

Andreas

-- 
You have the capacity to learn from mistakes.  You'll learn a lot today.




More information about the KDevelop-devel mailing list