SCPlugin: the integration of Subversion and the Finder in Mac OS X!

This corner of the web describes my personal view on the way forward with SCPlugin. This is the integration project between Subversion and the Finder on Mac OS X. It is hosted on Tigris.org, the source of Subversion itself.

Recently, I made a proposal to the SCPlugin user and developer community to resolve the Finder badging issue. The solution was based on MacFuse. However, the discussion made clear that this solution would have other problems that would not make it feasible. Proposal in the trash... The latest messages in the mail archive have shown that the latest mach_inject code seems to be working quite nicely. We still need to resolve a good way to start the user background daemon process from the Finder start, and this for every user without needing to register a Login Startup item. Well, here is another proposal:

  • a launchd managed process, running as "root" listening for user login and logout notifications. A sample of how this can be done can be found in the Apple Technical Q&A QA1133. Most important is section A2
  • the login call back handler of this process is responsible to launch the SCPluginUIDaemon under the user's credentials.
  • as long as the logout handler is not called for that user, the launchd managed process is responsible for monitoring if SCPluginUIDaemon is still running for that user. This should cope with SCPluginUIDaemon crashes.
  • on logout, the launchd manage process would stop monitoring the SCPluginUIDaemon for that user.

There shouldn't be too much coding involved to implement this and is more in line with the current implementation as far as I can see.Old proposals