You can do this with the Subversion command-line client and some scripts (Ruby or Python), but don't expect people to write code for you here. Implementation details will depend on how often you want to run statistics and how big your repo is.
When processing data from the Subversion command-line client, it may be easier for you to use the -xml option (accepted by the "log" and "info" commands), which displays the data in XML format.
1. search across all commit messages ?
Run "svn log -v -xml" and run a text search on the received XML (or parts of it). You can specify which set of commit messages you want to execute.
2. monitor the commits on certain important files ?
This is implemented using commit triggers. See Subversion Server Documentation.
3. identify files that are never/rarely used ? 4. identify files that are most frequently changed ? 5. identify files that most developers have accessed ? 6. identify files that have been committed together many number of times ?
All of them can be implemented using output from "svn log -xml" and subsequent processing of the received XML data.
JesperE
source share