27 lines
575 B
Bash
Executable file
27 lines
575 B
Bash
Executable file
#!/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
|