saving uncommitted changes in /etc prior to emerge run
This commit is contained in:
30
etckeeper/pre-commit.d/20warn-problem-files
Executable file
30
etckeeper/pre-commit.d/20warn-problem-files
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
exclude_internal () {
|
||||
egrep -v '(^|/)(.git|.hg|.bzr|_darcs)/'
|
||||
}
|
||||
|
||||
if [ "$VCS" = bzr ] || [ "$VCS" = darcs ]; then
|
||||
special=$(find . ! -type d ! -type f ! -type l | exclude_internal) || true
|
||||
hardlinks=$(find . -type f ! -links 1 | exclude_internal ) || true
|
||||
elif [ "$VCS" = hg ]; then
|
||||
special=$(find . ! -type d ! -type f ! -type l | exclude_internal) || true
|
||||
hardlinks=$(find . -type f ! -links 1 -exec hg status {} \; | exclude_internal ) || true
|
||||
elif [ "$VCS" = git ]; then
|
||||
special=$(find . ! -type d ! -type f ! -type l -exec git ls-files --exclude-standard --cached --others {} \; | exclude_internal) || true
|
||||
hardlinks=$(find . -type f ! -links 1 -exec git ls-files --exclude-standard --cached --others {} \; | exclude_internal) || true
|
||||
else
|
||||
special=""
|
||||
fi
|
||||
|
||||
if [ -n "$special" ] && [ -z "$AVOID_SPECIAL_FILE_WARNING" ]; then
|
||||
echo "etckeeper warning: special files could cause problems with $VCS:" >&2
|
||||
echo "$special" >&2
|
||||
fi
|
||||
if [ -n "$hardlinks" ] && [ -z "$AVOID_SPECIAL_FILE_WARNING" ]; then
|
||||
echo "etckeeper warning: hardlinked files could cause problems with $VCS:" >&2
|
||||
echo "$hardlinks" >&2
|
||||
fi
|
||||
|
||||
true
|
||||
Reference in New Issue
Block a user