On Tue, Apr 17, 2012 at 14:53, Arijit Datta <arijit.da...@ymail.com> wrote: > Hello, > > We have a requirement whereby we need to access a svn server and find the > no. of check-ins happening for each repository. > > For example the SVN is hosted at https://svnexample.net > > And there are 3 repositories on it: > > https://svnexample.net/rep/project1 > https://svnexample.net/rep/project2 > https://svnexample.net/rep/project3 > > The requirement is to connect to this server and then find out the number of > check-in / check-outs happening per project. We want to build a web > application which does that and gives the user the data in form of graphs, > etc. > > How do we go about doing that? That is how do we access the svn server from > inside the java code and get these details?
The repository doesn't keep track of checkouts, so you cannot glean that data from the repository. Ryan Schmidt has a script that can be used to parse Apache logs to collect this information. I would recommend against pulling this data from the log in realtime, but instead populate a database with the relevant data (you'll have to write something to do this for an initial population of the database using a one-time output of svn log, then have a post-commit hook which updates the database going forward), and generate your reports from queries against that database. The only instance where this would become a problem is if you regularly change revision properties, but you can have a post-revprop-change hook to perform those updates if needed. Although I don't use it to retrieve/parse log entries, I use SVNKit to interrogate my repository from within Java. http://svnkit.com/