General terms and concept about version control
I use SubVersion for version control.
commonly there are three directory :
/trunk
/branches
/tags
trunk is use for mainline development, where developer commit source to it everyday.
it is where the latest source located. for keeping daily changes.
branch is a line of development that exists independently, but share a common history.
just like Joomla and Mambo. for keeping releases. e.g. version 1.0
tag is a snapshot of the whole project, just like a release. nobody should commit anything to it.
e.g. version 1.0.0
bugs and features are handled in trunk and then port to branch, you may take another snapshot. e.g. version 1.0.1.
if a core design or architecture change, then move to another branch. e.g. version 2.0.
this is just a concept, you should find your own which makes you comfortable.
Using SVN (Tortoise) on local binary files
Well, I used to use svn on software development.
But I never setup the svn server, that’s not my resposibility.
When I play some games recently, I start to think,
maybe I can do a version control on autosave game.
Then I use tortoise, a svn client and Diablo 2 to test it.
Tortoise is claimed to be a svn client, but the thing is, it works
just like a server on local files. hmm, makes me wonder what ‘client’ means.
anyway, here is the flow of how to use it on game save.
1. create a folder for your repository.
and then right-click on it, select ‘create repository …’
then just use default setting.
2. go to the game save folder, right-click, select ‘import…’
search the repository folder in your file system, import into it.
3. delete you files in the game save folder.
then right-click on the folder, select ‘check out…’
3. check out those files, then you are ready, those files are now monitored by svn.
if they are modified, a red cross will be shown, you can then commit new version to the repository.
if you want to revert to previous game save, just delete all files, right-click, choose ‘revert…’
Have fun with version control.