/etckeeper/init.d/50vcs-pre-commit-hook
http://github.com/brinkman83/bashrc · Shell · 49 lines · 44 code · 1 blank · 4 comment · 7 complexity · 16828750de6a26c18b1bee791d85e4d5 MD5 · raw file
- #!/bin/sh
- set -e
- case "$VCS" in
- git)
- if [ -x .git/hooks/pre-commit ]; then
- if ! grep -q "etckeeper pre-commit" .git/hooks/pre-commit; then
- echo "etckeeper warning: .git/hooks/pre-commit needs to be manually modified to run: etckeeper pre-commit -d `pwd`" >&2
- fi
- else
- cat >.git/hooks/pre-commit <<EOF
- #!/bin/sh
- # pre-commit hook for etckeeper, to store metadata and do sanity checks
- set -e
- etckeeper pre-commit -d `pwd`
- EOF
- chmod +x .git/hooks/pre-commit
- fi
- ;;
- hg)
- if [ -e .hg/hgrc ] && grep "^\[hooks\]" .hg/hgrc; then
- if ! grep -q "etckeeper pre-commit" .hg/hgrc; then
- echo "etckeeper warning: [hooks] section in .hg/hgrc needs to be manually modified to run: etckeeper pre-commit -d `pwd`" >&2
- fi
- else
- touch .hg/hgrc
- cat >>.hg/hgrc <<EOF
- [hooks]
- # pre-commit hook for etckeeper, to store metadata and do sanity checks
- precommit = etckeeper pre-commit -d `pwd`
- EOF
- fi
- ;;
- darcs)
- if [ -e _darcs/prefs/defaults ]; then
- if ! ( grep -q "record prehook etckeeper pre-commit" _darcs/prefs/defaults &&
- grep -q "whatsnew prehook etckeeper pre-commit" _darcs/prefs/defaults ); then
- echo "etckeeper warning: _darcs/prefs/defaults needs to be manually modified to run: etckeeper pre-commit -d `pwd`" >&2
- fi
- else
- cat >_darcs/prefs/defaults <<EOF
- record prehook etckeeper pre-commit -d `pwd`
- record run-prehook
- whatsnew prehook etckeeper pre-commit -d `pwd`
- whatsnew run-prehook
- EOF
- fi
- ;;
- esac