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 /uninit.d/50vcs-uninit | |
etckeeper (1.7) unstable; urgency=low
* Fix hilarious typo hardcoding my name. Closes: #718425
# imported from the archive
Diffstat (limited to 'uninit.d/50vcs-uninit')
| -rwxr-xr-x | uninit.d/50vcs-uninit | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/uninit.d/50vcs-uninit b/uninit.d/50vcs-uninit new file mode 100755 index 0000000..b61abfd --- /dev/null +++ b/uninit.d/50vcs-uninit @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ]; then + rm -rf .git + file=.gitignore +elif [ "$VCS" = hg ]; then + rm -rf .hg + file=.hgignore +elif [ "$VCS" = bzr ]; then + rm -rf .bzr + file=.bzrignore +elif [ "$VCS" = darcs ]; then + rm -rf _darcs + file=.darcsignore +fi + +managed_by_etckeeper="managed by etckeeper" + +if ! grep -q "$managed_by_etckeeper" "$file"; then + exit 0 +else + realfile="$file" + if which tempfile >/dev/null 2>&1 || type -p tempfile >/dev/null 2>&1; then + tempfile="tempfile" + elif which mktemp >/dev/null 2>&1 || type -p mktemp >/dev/null 2>&1; then + tempfile="mktemp" + else + echo "etckeeper warning: can't find tempfile or mktemp" >&2 + exit 1 + fi + file=$($tempfile) + otherentries= + skipping= + while read line; do + if echo "$line" | grep -q "$managed_by_etckeeper"; then + if [ ! "$skipping" ]; then + skipping=1 + else + skipping= + fi + elif [ ! "$skipping" ]; then + echo "$line" >> "$file" + otherentries=1 + fi + done <"$realfile" + + if [ "$otherentries" ]; then + mv -f "$file" "$realfile" + else + rm -f "$file" + rm -f "$realfile" + fi +fi |
