Not good. If I had to roll back to a previous version of a file, I’d have to mess around with backups. Who knows how long locating the right files would take?
If I was embarking on a large project, then I would take a copy of the whole environment before work commenced, but this is hardly a well managed process! In this case, you only have the state the file was in originally and its current state, mid development. No version control.
I’ve installed TortoiseSVN and am trialling it for version control of our “web objects”. But I’m not 100% sure I’m using it in the best way, so my approach may evolve.
Using my approach, there are 3 different locations where files reside:
- in the repository, on another server
- on my local machine, where I perform the dev
- on the test server, where files are published, and seen on the web
There is actually a fourth place: the customer. We write software for third parties, but we don’t need to look at what they do with the files once they receive them.
TortoiseSVN is the link between the repository and my local machine. I do the work on my machine, publish to our test server, and, when happy with my changes, I commit them to the repository. Should any disasters befall me, I can (I hope I can!) retrieve the appropriate file version from the repository.
With each change committed to the “repo” the developer must type in a description, so these descriptions will help in locating the right source.