Basically i am quite new to PHP and recently i have had heard quite abit about SVN. After searching (googleing) for it, all i could really find was the SVN functions on the website.

Could someone please explain what SVN is, what its used for and is it worth learning?


Best Answer

I think you may be wondering how people use Subversion (SVN) in a PHP development environment.

At the company I work for we develop PHP on Linux. We use subversion to track changes and help publish changes to live server. With subversion there is no file locking or check-in. Each developer has a working copy of the repository, he then makes changes to the files and commits the changes back to the repository. On our staging server all the changes are merged with the working copy on that server by using subversion update. Subversion merges all changes for each file and if any conflicts happen let's you resolve those conflicts manually. In my experience conflicts are very rare. We then test the app on the staging server. Once the app is tested we use subversion to update the live server in the same way as the staging server. The big benefit in using subversion is the ability to merge changes so that more than one developer can work on the same file. Version control is also a big benefit, since it allows you to revert the application back to a know good working copy with just a few commands, or retrieve a deleted file from a past version.