[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Feature Poll: Support for plugins through a simple public API for TortoiseSVN

From: Stefan KŁng <tortoisesvn_at_gmail.com>
Date: Thu, 11 Sep 2008 17:38:58 +0200

the-moog wrote:
> I would like to be able to add my own commands to the TortoiseSVN
> context menu, I believe this could be done via some sort of API and/or
> static configuration.
> The question is: Do others think this is a good idea, who would make
> use if it?
> It would work like this:
> TSVN could be installed normally, then additional program installs
> would add functionality through external .dll and/or static
> configuration files. These external files would register their
> functionality with TortoiseSVN, adding (indeed perhaps removing) items
> from the Tortoise context menu. Although separate programs, modified
> versions of the TSVN windows installer could add these plugins during
> TSVN install in one pass for easy software distribution.
> This external 'plugin' would probably be able to do most of its work
> through TortoiseProc, though the API would supply something like the
> following (pseudo) function:
> AddContextMenuItem(MenuItem,Location,MenuCallbackFunction)
> GetWorkingVersion(Context)
> GetRepositoryPath(Context)
> GetContextPath(Context)
> GetContextFile(Context)
> GetModifiedState(Context)
> CallTortoiseProc(Command)
> Others....?
> The only change to TortoiseProc would be the need for silent
> operating, allowing user interaction to be eliminated if necessary.

Letting external plugins deactivate TSVN menus? I don't think so. We'd
have to deal with users reporting bugs to us which are not TSVN bugs at all.

> Thus, these external plugins would have access to some subset of
> TSVN's functionality through a combination this new API and the
> existing TortoiseProc, this new functionality would include, but not
> be limited to:
> Gaining information about the working version
> Adding items to the context menu(s) while registering some .dll
> callback in the process.

The problem with that approach is that we're dealing here with shell
extensions. One bug would crash the desktop.
I don't like to take that risk.

> The benefit would be that an organisation need only install, configure
> and maintain one install; instead of installing both TSVN and SVN
> Client plus their additional tool(s). Lastly and most importantly it
> would also provide a consistent interface to SVN under windows meaning
> less training within organisations regardless of their differing
> needs.

Such plugins would have to be COM-objects and implement an interface we
would have to design ourselves. But then it may be easier for you to
just implement your own shell context menu handler.


  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net

Received on 2008-09-11 17:39:18 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.