I’m in the specific use case of wanting to methodologically document everything significant I do while setting up my new workstation (running Mac OS X Lion).
I would like to version control, in the same repository, files that are at totally different places on my file system, for instance files in /etc, ~/, /Libraries, etc.
Some thoughts/details on my requirements:
- This repo will be for personal use only. I’ll use a GUI client to browse my settings history.
- I initially wanted to use Git, hosted in one large Github private repository, but as you can’t clone subfolders the way you would do it with SVN, I’d have to create symlinks everywhere, which does not seem convenient.
- So, would I be better off setting up a local SVN server and just checking in the files I want, when I want to version them?
You can use Mercurial, Git, …, and then simply ignore all the files you don’t want to version. Create the repository in the root and track the rest. Like (for Mercurial):
An alternative is to use more specialized tools such as etckeeper that are made for tracking configuration data.