Search code examples
svn

Need a fool proof way to maintain and update a web application without messing it up


I'm working on a simple social networking application and would be ready to launch it in soon. However I would like a way to properly maintain it as such that we would be making updates and adding new features to the application from time to time. I need some pointers on how to do it right as right now I have my application subversions using tortoise svn on a local server and every time I wish to upload it I do an export and upload the exported files to our remote server using a simple ftp.

Is there a better way to do this - I mean I don't want to make an upload and end up finding out that I accidentally overwrote a critical file that wasnt meant to be overwritten or so - I mean whats the proper way to do this.


Solution

  • I am used to having an ordinary working copy checked out on the web server. If a file does not exist in the repository, it should not be on the web. This way you can easily move the entire web around and create additional versions (like beta version on a different domain) without worrying about copying all the necessary files. And you can easily add new features without breaking the release version – simply work on the features in a separate branch, test the branch on a different URL and when you are ready, merge the branch back to trunk and update the trunk copy.

    Of course there are some drawbacks to having the ordinary working copy checked out on the server, for example there are probably some files you do not want to be served over the web. This might and might not be an issue – I am working with Catalyst, so this does not bother me, as each request goes through the controller stack anyway.