tags:

views:

740

answers:

6
+1  Q: 

What is SVN? (PHP)

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 php.net website.

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

Thanks, Ben

+9  A: 

SVN is the abbreviation for Subversion, which is a Version Control System for mostly software projects. It doesn't really have much to do with PHP other than that PHP has functions to access repositories (and there might be a PHP Subversion repository but I think they are using CVS).

Look it up on Wikipedia for more information.

Patrick Daryll Glandien
+1  A: 

SVN is Subversion and it is a source control system. If you are not currently using some other source control system, you are wise to invest in one. SVN is rather easy to use, compared to some other open source source control systems, and has some neat tools on top of the source repository to make things easier for you.

Gregory A Beamer
+1  A: 

SVN is a system to keep track of changes to project files. It's usually used for any kind of project, being PHP or not, and many concurrent users to allow them to change files without overwriting each others' changes.

Of course, you can use it for your own projects as well. In fact, I do, because it also keeps track of past changes so you can go back to previous versions, see comments you've done when submitting changes to the files repository, etc.

It's a much better version of the old CVS (Concurrent Versioning System).

Seb
A: 

I believe SVN mean Subversion, the code repository. I'm not a PHP developer, so I could be wrong.

duffymo
+1  A: 

SVN, short for "Subversion" is a version control system. Version control is... Pretty complex, so I won't try to explain it all here... But this presentation does a fairly good job of describing the problem (ie, "why you need version control") and the solution (ie, "what Subversion (among other things) does to help you")

http://www-verimag.imag.fr/~moy/slides/bzr/bzr-handout.pdf

Start at the slide with the header "Outline" and go down to the slide "Remaining Limitations" (the rest is good too, but it's not exactly what you're looking for).

(Nitpicker warning: this slide is about bzr and not svn... But the basic idea is the same.

David Wolever
+1  A: 

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.

webguyblake