Boxes to check:
1. Self describing format
2. SAX-style parser available to C++
3. Easy for users to understand and ad-hoc parse using command-line tools
4. No document closing necessary, so appending is trivial
YAML looks pretty good:
- cmd: git checkout file.txt
when: 1565133286
pwd: /home/me/dir/
paths:
- file.txt
protobuf is also an option: entry {
cmd: "git checkout file.txt"
when: 1565133286
paths: "file.txt"
}
though I am unsure of how well its text serialization is supported.Any suggestions?