Most operations require some sort of UI during the actual operation. At the very least, there's the chance that there are errors that have to be reported to the user -- in an alert box, which is UI. We call this the Progress UI, since it shows the progress of the action. You may have to create your own Progress UI, but first try to see if you can fit it into the existing SCPluginUIDaemon/UserInterface/NewGenericUI.[hm]. If you can, it'll save you a lot of work, and keep our UI consistent and friendly.
You'll need to create an action routine in your progress UI class. By now, this is probably the third or fourth routine you've created with the same name, the name of your action. It's bewildering, isn't it? Just be careful to talk about which class a given routine is in, or what its broad function is. This, for example, is not "the MenuCallBack mkdir", this is "the ProgressUiDefinition mkdir."
This routine does the work. If you've had to create your own UI, you'll have to wire Subversion call-backs for errors, authentication, and so forth; if you're reusing NewGenericUI, you can trust it for these things. This routine, like all UI things, has to run on the main thread (Cocoa itself is not thread-safe). That's arranged in [NewGenericUI run:title:].


