This page describes how to keep track of all changes to calendars and
address books with git (or any other version control system).
The repository must be initialized by running
git init in the file
system folder. Internal files of Radicale can be excluded by creating the
.gitignore with the following content:
The configuration option
hook in the
storage section must be set to
the following command:
git add -A && (git diff --cached --quiet || git commit -m "Changes by "%(user)s)
The command gets executed after every change to the storage and commits
the changes into the git repository.