Just to confirm that we are talking about Setting up commits filtering part in our documentation.
All information used in those filters is being read by AppVeyor from WebHook payload, which came from Git provider (GitHub, BitBucket, etc.) after push or pull request happen. AppVeyor does not compare anything itself.
Thank you Ilya! Yes, I meant commit filtering that you linked.
Your filtering rules are specified in terms of files changed. So I was expecting you obtain some diff for each push.
The payload containshead and before keys, but not the diff. So I thought you would take the diff between the two commits. In this case, I wanted to know how you deal with rebase or a push --force, which result in before commit becoming unreachable and so absent from the cloned repo.
The only diffs I found in the Webhook payloads are for PRs, not for pushes.