#!/bin/sh # Git pre-commit hook storing permissions and ownerships. mtreeignore=$(mktemp --suffix mtree) mtree_exclude() { echo .git # Get ignored files from git https://stackoverflow.com/a/467053 find . -not -path './.git/*' | git check-ignore --stdin } # In case .mtree doens't exists yet, we still want it in the specification # to be generated. if [ -f .mtree ]; then touch .mtree fi mtree_exclude > "$mtreeignore" trap 'rm --force "$mtreeignore"' EXIT mtree -x -c \ -p . \ -k uname,gname,mode \ -X "$mtreeignore" > .mtree git add .mtree