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.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
Received on 2008-09-11 17:39:18 CEST