Help me understand SVN
I'm working for the first time in a job where we have source control.
In the old days I would just upload and hope for the best, or maybe if I was feeling especially careful, take a backup of the file then upload and hope for the best.
Now I follow what is to me an obscure and tedious process using Tortoise.
- I "switch to Trunk view" on the PC *
- I "Commit" the folder I'm working in *
- I "switch to Production view" *
- I "Merge" from Production to Trunk (HEAD) *
- I "Commit" again *
I have marked with an asterisk the bits of that process I don't understand. Various dialogs come up, I click on OK, but I'm just a trained monkey at this point.
I think I understand the big picture, that is, the SVN system will keep, and allow us to roll back to, earlier versions, that kind of thing. But what actually is happening?
And it appears I followed my set of trained-monkey steps on a folder and accidentally reverted someone else's code to a previous version. How did I do that? And more to the point, isn't the whole point of these things that I should have got an error message saying "hey, that file's newer on the server than on your PC"?
Before I actually had to use one, I imagined SVN and CVS systems as being some kind of magical smart FTP -- I would upload a file and it would just "know" that it should back up the old one, warn if it had been updated since I last downloaded it, or even merge their changes and mine. Apparently it's not that simple!
Anyone who can give me a mental picture of what I'm actually doing when I follow these steps, TIA.
posted by kcm at 8:01 PM on June 13, 2006