Вы можете извлечь файл dump.sql из ревизии $ rev, используя:
git cat-file blob $rev:dump.sql
Хук post-receive также вызывается для других вещей, помимо нажатия master ... надеюсь, у вас есть проверка где-то, что выобрабатываешь обновленный мастер реф.В качестве стиля я бы использовал значение новой ревизии, передаваемое хуку, вместо того, чтобы ссылаться на мастера непосредственно из хука.
Обычно я пишу хук после получения, например:
while read oldrev newrev refname; do
if [ "$refname" = "refs/heads/master" ]; then
# definitely updating master; $oldrev and $newrev encompass the changes
if git diff-tree --name-only -r -z $oldrev $newrev dump.sql; then
# dump.sql changed...
fi
fi
done
Важно, что это также справляется с одним нажатием, посылая несколько коммитов мастеру за один раз - команда, показанная в вопросе, смотрела только на последний коммит на мастере.