I installed VisualSVN on a server that I am using to ‘stage’ web applications that I write – at the present time these applications are Classic ASP/VBScript. My development workstation that I write code on has TortoiseSVN installed, and I can connect to the repository folder I created – I’m using the following structure:
development (repository) -- my_application -- branches -- tags -- trunk -- another_application -- branches -- tags -- trunk
I also have IIS configured and pointing to another folder on the server’s hard drive to store the served files. Is there a ‘best practice’ for pushing commits out to the folder linked to IIS, so after a commit/iteration I can give my users a URL to see the demo site (as well as test it myself)? I am ashamed to say that I have never really used version control before, so I am a little bit clueless as to the best way to use it.
First, I would concur with the other comments, your repository format is by the book with branches, tags, and the trunk. I would also recommend splitting the repository per project as mentioned. I’ve been involved in projects that have one shared repository and with split repositories, and the split repositories work better. Plus, if there was ever a reason to limit access to one of the repositories (ie, you were letting someone else access the repository, and you only wanted them to see one of the two projects) its easier with them separated.
In any case, I would suggest using MSBuild for your deployment. You can create an MSBuild project file that checks out from SVN, builds your solution file, then deploys it to the web site. You would add a line such as this to your MSBuild project file to do the checkout:
<Exec command='svn checkout %22https://server:8443/svn/Project/Trunk/%22 %22c:\Project%22'/>You can also do things such as making a project to checkout a specific version/tag once you release a version. There’s quite a bit of flexibility in what can be done when going this route for deployment.
For more details on MSBuild, you can find the Microsoft MSBuild Reference Guide here.