Installing a version control system for my local machine left me confused. Did I need Subversion and TortoiseSVN? If TortoiseSVN is only a “client” can it work without Subversion? If it can’t, why does TortoiseSVN allow me to create repositories without me having installed Subversion yet?
After having wasted a day googling, good sense prevailed and I mustered the courage to go through the FAQ (which thankfully is very clear and to the point). And voila!
So what did I learn? If you want a version control system for your local files and folders you only have to install TortoiseSVN. It has everything you need for creating local repositories on your hard drive, which can be accessed via file:///C:/YourProject. In this case the working folder (the ones you check-out & check-in) and the local repository (where version control data resides) are on the same machine – your personal computer.
If however you need a version control system that would be accessed by a small team (of 2 or more users) you also need Subversion. Subversion is a source control “server” which allow multiple users and machines over a network to access the central shared repository in a safe and consistent manner. Your repository is now on a server. When using Subversion, you access your files via svn://server-ip/YourProject (or svn://localhost/YourProject if the server is running on your local machine). Subversion can be used via the command line, however TortoiseSVN for Windows provides a wonderful GUI that integrates with Windows Explorer.
You can avoid installing Subversion (server) by placing your local repository on a network drive (accessed via file:///server/sharedfolder/YourProject). This is however not a recommended approach (read FAQ or see the Mind Map below for ‘why’).