You aren't able to compare a database against a changelog. A big reason is because people often use <sql> blocks and we don't try to parse that to know what is really going on.
What I normally suggest is to just run your known changelog against a blank database to have a database that matches the changelog, then diff against that. It is an extra step vs. just diffing against the changelog but can usually be automated well.
Nathan