The patches following this message are my first attempt at implementing atomic logging for notmuch. The idea is that such logs could be useful in synchronizing notmuch instances. Feedback of any kind is welcome. I'm particularly interested in comments about the log format and performance. In my tests, logging adds about a 10% speed penalty (tagging ~3700 messages) if enabled. I'd be curious if people for whom tagging is slow could tell me if they take a bigger hit. If you want to test, add a stanza like [log] tags = /path/to/logfile to your notmuch config. About the format, I am currently using seconds-since-epoch json-quoted-message-id json-quoted-plus-minus-tag I know some of you will not be thrilled with the quoting format; I'm open to other ideas, but this is what was already existing in notmuch code. At the moment I wanted to push the quoting fairly far down the stack and use the same for all potential logging, but perhaps this is too much "design by convenient implementation". Canadian-Thanksgiving-Greetings, David