Fossil

Fossil is a distributed by the developer of that includes a distributed bug-tracking system and a distributed Wiki, all packed into a very small and efficient executable, using as storage.

Before and came along, I used Fossil to sync my work between machines:

# init a new repo and open it
fossil init ~/Sync/Archive/tld.of.project.fossil
fossil open !$
# Add the fossil checkout file to .gitignore
echo ".fslckout" >> .gitignore
# Store this repo's git config (i.e., remote repos) in fossil as well
fossil add .git/config .gitignore

The great thing about Fossil is that its single file store is very quick to sync. Being a single file is no problem for any sync solution that can do proper rolling checksums (like ), and there are no loose ends.

The downside is that Fossil can be somewhat arcane (and has an absolutely horrid built-in web UI). But for snapshotting repositories and moving them around it handily beats git bundles, which are read-only and fiddly to use.