I am looking for a way to estimate which developer contributed the most code for each file in an SVN repository. The only way so far I could figure out is to get the svn log per file, parse the first line, and write all these entries. The problem is that fetching the full log separately for each file is very inefficient and takes a lot of time.
- Is there a way to get all the log entries for a folder, but also with the file name? The default svn operation does not seem to specify which log entry belongs to which file if you ask for a folder log.
- Alternatively, is there a way to perform this sort of batch queries on the repository?
Answers either using the svn command-line tools or programming language bindings are welcome.
If you only want to know which user changed which files per revision (not caring for the amount of changes), you can use the command line option
-vwithsvn log. This also works on the complete working directory – as well as on the remote repository.You might also want to use the command line option
--xml. This simplifies parsing for most programming environments.