diff options
author | Joey Hess <joeyh@debian.org> | 2013-07-31 11:33:45 -0400 |
---|---|---|
committer | Joey Hess <joeyh@debian.org> | 2013-07-31 11:33:45 -0400 |
commit | fdeec420b54e252e611c353ce39fe61c924e3e7d (patch) | |
tree | 2a1974e6c8cc56263e3903f49ea2a841ea895c6d /init.d/60darcs-deleted-symlinks |
etckeeper (1.7) unstable; urgency=low
* Fix hilarious typo hardcoding my name. Closes: #718425
# imported from the archive
Diffstat (limited to 'init.d/60darcs-deleted-symlinks')
-rwxr-xr-x | init.d/60darcs-deleted-symlinks | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/init.d/60darcs-deleted-symlinks b/init.d/60darcs-deleted-symlinks new file mode 100755 index 0000000..9c34e95 --- /dev/null +++ b/init.d/60darcs-deleted-symlinks @@ -0,0 +1,48 @@ +#!/bin/sh +set -e + +filter_ignore() { + if [ "$VCS" = darcs ]; then + ignorefile=.darcsignore + fi + + if [ "$VCS" = darcs ] && [ -e "$ignorefile" ]; then + # Spaces embedded into patterns would break it. + # But really, why would anyone want to use ' ' instead of '\s' ? + #patterns=$( grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" | xargs -n 1 printf " -e %s" ) + #grep -Ev $patterns + #unset patterns + # Alternative using a temp file + patternsfile="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )" + grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" > "$patternsfile" || true + grep -Evf "$patternsfile" + rm -f "$patternsfile" + unset patternsfile + else + cat - + fi +} + + +if [ "$VCS" = darcs ];then + NOVCS='. -path ./.git -prune -o -path ./.bzr -prune -o -path ./.hg -prune -o -path ./_darcs -prune -o' + + # We assume that if .etckeeper is empty this is the first run + if [ -s .etckeeper ]; then + linksindex="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )" + grep '^ln -s' .etckeeper | while IFS="'" read n n n link n; do + printf "%s\n" "$link" >> "$linksindex" + done + + # Warn about symbolic links that shouldn't exist + if links=$( find $NOVCS -type l -print | filter_ignore | grep -vFf "$linksindex" ); then + printf "%s\n%s\n" \ + "The following symbolic links should not exist:" \ + "$links" >&2 + fi + + rm -f "$linksindex" + unset links linksindex + fi + +fi |