For what it's worth. I ended up doing this with a mercurial commit hook.
Since we're using windows & powershell.
I put this in the hgrc
[hooks]
commit.MigrateDatabase=powershell -File ".\BuildAndDeploy\DatabaseMigration_HgHook.ps1"
And the in the powershell file, to cut along story short
$hg_node = (gci -Path env:hg_node).Value $hgCommandLine = "hg status --change $hg_node > .\Migration.Working\ModifiedFiles.txt" Invoke-Expression $hgCommandLIne
Then parsed the ModifiedFiles.txt for any added or modified files, concatenated them into another file and versioned this based on a combination of the the version and the date it was comitted.