The solution that we developed (but did not go beyond the POC for full disclosure) is to look at couchdb for changes (http://guide.couchdb.org/draft/notifications.html) and every time the document changes, we pull it out from couchdb and check it on git.
You can either do this by constantly listening to the changes, or by creating a script, and just keep a pointer to the last updated record. This means that the solution is completely incompatible with the client, which updates the document in couchdb (that is, knife / webui / recipes / command line scripts all register their changes through the api and in couchdb)
Hope some of you bring you
source share