Current release works with SVN and SQL 2008 only! (Hasn't really been tested much w/ other versions)

It is a little kludgey to get started but once you have this set up it works.

1) in SVN, create a repository
2) create a folder for each server under that repo
so for example you would have a svn repo


Now, create a folder somewhere on the computer you are going to run the app.


and then check out each "server" folder, so in the above case i would checkout the "MyDBServer" folder under c:\ReportingServices

now, the App.Config, pretty self explanitory, you set the path to the rootPath folder - this is the same folder that you checked out a working copy of the svn repo to, so in the example above - it would be c:\ReportingServices. set the user/pass for SVN, and if you want to get emails if the app errors, you can set that up as well. Setting up report servers is a matter of specifying the name (this needs to correspond with "MyDBServer" in the above example) and the URL to the webservice the app will use to obtain report definitions.

<?xml version="1.0"?>
<section name="reportServers" type="ReportingServicesSourceControl.ServerConfiguration, ReportingServicesSourceControl"/>

<add key="rootPath" value="c:\ReportingServices"/>
<add key="sourceControlUsername" value="user"/>
<add key="sourceControlPassword" value="pass"/>
<add key="EmailOnError" value="true" />
<add key="EmailServer" value="" />
<add key="EmailFrom" value="" />
<add key="EmailTo" value="" />
<add key="AlertOnEmbeddedDataSource" value="false" />

<add name="localhost" url="http://localhost/reportserver/reportservice2005.asmx" useDefaultCredentials="true" />
<startup><supportedRuntime version="v2.0.50727"/></startup>

Once you have that set up, you can schedule the app to run on an interval. I set mine to run every day. I use "Unfuddle" for SVN hosting and I can get commit alerts, so I can get alerts when my database schemas change. If you have a local repo, you would have to set up your own commit alerts.

You must have SVN cmd line on the machine that runs this app, or it won't work.

Also note, if something goes awry, the working copy may need a cleanup and manual commit OR revert. If you don't see commits coming through, try a SVN cleanup, revert, or commit manually. If all else fails, just delete and re-checkout the working copy and run the app again.

Last edited Apr 7, 2011 at 7:09 PM by tlaqua, version 1


No comments yet.