snap

usage: snap [<comment>]

snap is a super simple versioning/checkpointing tool / shell script for *nix systems. When run it creates a copy of the contents of your current directory (and subdirectories) into the directory .snapshot/$date using rsync. Subsequent runs will create subsequent copies of the directory but if a file is unchanged from its previous version, rsync will only create hardlinks to the previous copy rather than make a new copy.

Any command line arguments will be treated as a comment that will go into the .snapshot/comments file.

This is not intended as a replacement for a proper version control system like cvs/svn/git/... Rather it is intended to have a very low barrier to initial usage so that it will get used easily and often, even on things that you might not put into version control. (Yes I know there are people who put their entire home directories in version control but I'm not one of them)