For a project I’m running Redmine, an open source project management webapp, with nice Subversion integration as one of its prime features. It’s a really cool app, which does a good job of showing project activity. Unfortunately it suffers from the minor annoyance that it does not automatically refresh commits when something changes on the repository end. You have to do that manually, or you don’t see the commits. As a heavy user of the Activity feed, I felt this should be fixed.
On the Redmine forums, I found this can be fixed by adding a script that uses Rails’ script/runner to invoke Redmine commands to a Cron job or to a post-commit hook. However, the former means the server running Redmine is continuously polling your SCM server, while the latter is much more elegant yet requires your SCM server to be the same as the one running Redmine. If this is not the case, you’re screwed. Out of this need, the Redmine Refresh Repository API Plugin was born.