diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-02-24 22:44:05 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-02-24 22:44:05 -0500 |
commit | 0c04235d320c1ebe5e29867dfbcf48109e61d544 (patch) | |
tree | e5e676a772fbf5245c6177c9e19f39d095d98150 /uninit.d | |
parent | 145fb779aef9d955b0029b5e4fe27209a3dd435b (diff) |
uninit and auto-init
* Add uninit subcommand, which cleans up all etckeeper and VCS droppings
in /etc. This is useful if you want to switch to a different VCS and
don't have any history to preserve. (Preserving history and converting
is of course possible, but significantly harder.)
* Run etckeeper init on initial install. Closes: #505772
(The idea being that if someone doesn't want to use git, they can
immediatly uninit to easily reverse this.)
* Document how to change the VCS used by etckeeper, without preserving
any history. Preserving history left as an exersise for the reader.
Closes: #515237
Diffstat (limited to 'uninit.d')
-rwxr-xr-x | uninit.d/01prompt | 18 | ||||
-rwxr-xr-x | uninit.d/50remove-metadata | 6 | ||||
-rwxr-xr-x | uninit.d/50vcs-uninit | 12 | ||||
-rw-r--r-- | uninit.d/README | 2 |
4 files changed, 38 insertions, 0 deletions
diff --git a/uninit.d/01prompt b/uninit.d/01prompt new file mode 100755 index 0000000..e642a82 --- /dev/null +++ b/uninit.d/01prompt @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +echo "** Warning: etckeeper uninit will DESTROY all recorded history for $ETCKEEPER_DIR" +echo "** This includes deleting the $VCS repository and ignore file." +echo "" +printf "Are you sure you want to do this? [yN] " +read answer +case "$answer" in + Y|y|yes|YES) + echo "Proceeding.." + exit 0 + ;; + *) + echo "Aborting etckeeper uninit." + exit 1 + ;; +esac diff --git a/uninit.d/50remove-metadata b/uninit.d/50remove-metadata new file mode 100755 index 0000000..0be8d36 --- /dev/null +++ b/uninit.d/50remove-metadata @@ -0,0 +1,6 @@ +#!/bin/sh +set -e + +# Files generated by etckeeper to store metadata the VCS cannot preserve. +rm -f .etckeeper +rm -f .metadata # only generated by old versions diff --git a/uninit.d/50vcs-uninit b/uninit.d/50vcs-uninit new file mode 100755 index 0000000..c9896ed --- /dev/null +++ b/uninit.d/50vcs-uninit @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if [ "$VCS" = git ]; then + rm -rf .git .gitignore +elif [ "$VCS" = hg ]; then + rm -rf .hg .hgignore +elif [ "$VCS" = bzr ]; then + rm -rf .bzr .bzrignore +elif [ "$VCS" = darcs ]; then + rm -rf _darcs .darcsignore +fi diff --git a/uninit.d/README b/uninit.d/README new file mode 100644 index 0000000..d1a4eaa --- /dev/null +++ b/uninit.d/README @@ -0,0 +1,2 @@ +Executable files in this directory are run to uninitialise the working +directory, removing files added by `etckeeper init`. |