Setup your system for an easy backup
You want as much data as possible in one directory and you want that directory to contain ONLY data which goes into your backup. Not one temporary or cache file should be inside that directory. We will call this directory "data" from now on.
This "data" directory might contain your MP3s, your videos, your pictures, your virtual machines, your Subversion or Mercurial repositories and your installers for tools which you don't want to download again.
- You will never work directly in "data".
- You will add files from "data" to your media player, install tools from "data" or have your svn working directories access the server repository in "data".
- But Mercurial for example will be different.
- You will have a "work" directory somewhere.
- Here you will do your work.
- Here you will checkout svn or Mercurial.
- Here you will have a downloads directory (Change the OS download directory here).
If you are using Mercurial, you will have a server repository in "data" which has an empty working directory ("hg update null") and you will work with the clone in "work".
If using Windows, you will have a script in %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ which will commit (for svn) or commit+push (for Mercurial) for certain checked out projects. Of course NOT for your development projects.
But if you have a folder which contains your documents and personal scripts and stuff you want to keep all your life, auto commit/push is the thing you want. This must be - of course - be prepared correctly too, like having an ignore file for "*.aux *.log *.out *.synctex.gz and the like.
- You nearly always work in "work"
- Backups will be created from "data"