Commit parser

Better to read the file only when `variables` is `None`.