summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog7
-rwxr-xr-xuninit.d/50vcs-uninit20
2 files changed, 23 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index 9a8d05e..fcfd1fc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+etckeeper (0.41) UNRELEASED; urgency=low
+
+ * Change etckeeper uninit to not remove .gitignore (etc) file
+ if it lacks the "managed by etckeeper" comment. Closes: #545137
+
+ -- Joey Hess <joeyh@debian.org> Mon, 07 Sep 2009 14:06:45 -0400
+
etckeeper (0.40) unstable; urgency=low
* Add Spanish debconf translation. Closes: #539589
diff --git a/uninit.d/50vcs-uninit b/uninit.d/50vcs-uninit
index c9896ed..eb9f13a 100755
--- a/uninit.d/50vcs-uninit
+++ b/uninit.d/50vcs-uninit
@@ -2,11 +2,23 @@
set -e
if [ "$VCS" = git ]; then
- rm -rf .git .gitignore
+ rm -rf .git
+ file=.gitignore
elif [ "$VCS" = hg ]; then
- rm -rf .hg .hgignore
+ rm -rf .hg
+ file=.hgignore
elif [ "$VCS" = bzr ]; then
- rm -rf .bzr .bzrignore
+ rm -rf .bzr
+ file=.bzrignore
elif [ "$VCS" = darcs ]; then
- rm -rf _darcs .darcsignore
+ rm -rf _darcs
+ file=.darcsignore
+fi
+
+managed_by_etckeeper="managed by etckeeper"
+
+if ! grep -q "$managed_by_etckeeper" "$file"; then
+ echo "etckeeper: "$file" does not contain \"$managed_by_etckeeper\" comment; not removing"
+else
+ rm -f $file
fi