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

Re: Avoiding blocking the UI while running hook scripts?

From: Roger Lipscombe <roger_at_differentpla.net>
Date: Thu, 15 May 2008 15:13:03 +0100

Simon Large wrote:
> Hi Roger,
>
> I'm quoting an old email as this is the only place I can find a
> summary of what the issue tracker integration is for. The contrib
> folder details how to write the COM object, and I have no intention of
> documenting that in the help file.
Sounds reasonable. I've updated the contrib documentation from the
plugin developer's perspective.

> I'm assuming a friendly admin will
> have written the COM object and issue tracker end, and supplied a
> working hook to members of the dev team, who then plug it into TSVN.
> That's not an everyday job for TSVN users, so the contrib folder is
> the right place for that description.
>
Yep. It's assumed that one of the developers on the team will have
written the plugin, and that the other team members will have installed it.

> What I need is the user perspective: what does this do, how do I
> install the plugin, what does it look like once I have done that.
> Normally I would just try using it myself, but in this case I do not
> have a COM object to test, so I'm a bit stuck.
>
>
Stefan has (I see from another email) compiled the C++ (ATL) example. It
simply takes a command line as a parameter and runs that program,
waiting until it completes.

> I have a reasonable picture of what you are doing from this:
>
> 2008/4/22 Roger Lipscombe <roger_at_differentpla.net>:
>
> [snip]
> So, putting my user hat on, once I have installed the plugin, I find a
> new hyperlink on my commit dialog (where?). I click on the link and
> the plugin starts up, typically to contact the tracker and display a
> list of open issues. I select an issue and the plugin closes the
> dialog and modifies the current log message in some way (typically
> appends a formatted string to it, based on the issue I have selected).
>
> The part that is least clear is installation/setup. I can't find how
> you install the plugin, nor what settings are required on the
> TSVN->Settings page.
>
There are three things going on here:
1. Installation of the plugin. This is the responsibility of the plugin
author, and will typically take the form of a DLL, which is either
self-registering, or comes with a .REG file. It might even come with a
proper installer.
2. Associating the plugin with a working copy. This is similar to how
you associate a client-side hook with a working copy. Once you've got
the example plugin registered, you should be able to see how this works.
A working copy has an associated plugin (a COM CLSID), and plugin
parameters (a string, typically a URL or a database connection string).
3. Once you've associated a plugin with a working copy, it overrides the
bugtraq:label stuff (for that WC), and puts a button on the commit
dialog instead of the bug number text box. The text for the button is
provided by the plugin. Clicking the button brings up the plugin's UI.

> I also need some screenshots. If I can install a pre-built example
> plugin (like your contrib ones) then I can test this and grab the pics
> myself, but I don't have a C++/C# build environment (I'm not a Windows
> programmer) so I can't just build the contrib one myself. Maybe it
> would be worth including the example as a download from the nightly
> site, so others can try it out.
>
Hopefully you can use the one that Stefan has compiled. I notice that
all of the screenshots are taken on Windows XP, and I don't have an XP
box available at home right now (I'm on leave atm). If you have any
problems, let me know, and I'll kick my wife off the XP laptop :)

As for making it available as a download, I think that's not a bad idea;
it should probably be built as part of the NAnt script anyway, but
that's Stefan's call.

Regards,
Roger.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: dev-help_at_tortoisesvn.tigris.org
Received on 2008-05-15 16:13:31 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.