I'm just looking into Subversion now, and it seems that I "Update" to get file from the respiratory, and commit to upload my local copy. I could easily see this being great for each version I release - I can quickly look back at what's changed in the file through the versions if needed. However, what about while working on a new version? I may make X changes to a file one day, and Y the next. It doesn't seem like I am supposed to Commit EVERY SINGLE change I make, am I? That seems like a lot of overhead to do? So how do I manage between release version changes, while I am developing the next version?
This is 100% correct you branch out for separate versions. Also some other things to note every subversion commit you do all the files committed as well as old files make up that revision. This is great when you're working with a lot of code make some changes you test it and commit all your changes. You know everything is going to work with revision x. Opposed to having to figure out version a on this file is compatible with version b on this file. You just know each revision assuming you tested it should be compatible with the rest of your files in the repository. So to sum it up subversion is awesome I try to always use it when it possible on any programming project. I've had to use CVS at times and currently do for one project not a big fan after using subversion. So you won't regret using SVN
Can someone quickly explain tags/branches? TortoiseSVN gives me an option for both. Soo whenever I have a "working change", I should just right click the folder and commit it - committing every file? I assume I'll reach, for example, revision 1000 in no time? Also, what is the point in having multiple respiratories as opposed to subfolders for each project in one respiratory?