Revision Control application for personal-local use?
I'm looking for an application which does what is commonly termed as Revision Control (RC). Here is the scenario: I have a directory holding numerous files and subdirectories, all belong to a project I work on. I routinely edit/update some files and wish to record `snapshots' of the entire directory so I can compare different revisions. Of course I can store a tarred version of the directory everytime I change something but this is immensely inefficient. So What I would like is to `upload' a snapshot into an archive file everytime I change something and then being able to `download' a snapshot later (for comparison/backup). Only I work on the project and I use a single machine so everything is local (no network connections).
My requirements are:
1. Being able to easily download/upload with one command an entire directory with all its files and subdirectories.
2. Any change to the directory induces a new version including renaming/moving files (even if their content hasn't changed),
3. The snapshot is aware of symlinks and saves them as such (and not as file they point to).
4. The files in a snapshot retain their original date when I `download' from the archive.
5. A GUI allows to easily navigate between stored snapshots and see which changes occurred.
This may be a tall order but the requirements seem reasonable. Wikipedia has some information on RC but I am trying to avoid experimenting with 5-10 different apps which is very time consuming.