commit b9cc8f2f78283dfbf04de0891d67f5494d8f92f8
parent a1811d68b7949150bca11b5ccfd30264cc7e0eab
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date: Sat, 22 Sep 2012 23:44:52 +0200
Fix directory removal.
Diffstat:
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/password-store.sh b/src/password-store.sh
@@ -349,13 +349,13 @@ case "$command" in
;;
delete|rm|remove)
recursive=""
- force="-i"
+ force=0
opts="$($GETOPT -o rf -l recursive,force -n "$program" -- "$@")"
err=$?
eval set -- "$opts"
while true; do case $1 in
-r|--recursive) recursive="-r"; shift ;;
- -f|--force) force="-f"; shift ;;
+ -f|--force) force=1; shift ;;
--) shift; break ;;
esac done
if [[ $# -ne 1 ]]; then
@@ -364,7 +364,7 @@ case "$command" in
fi
path="$1"
- passfile="$PREFIX/$path"
+ passfile="$PREFIX/${path%/}"
if ! [[ -d $passfile ]]; then
passfile="$PREFIX/$path.gpg"
if ! [[ -f $passfile ]]; then
@@ -372,9 +372,12 @@ case "$command" in
exit 1
fi
fi
- rm $recursive $force -v "$passfile"
+
+ [[ $force -eq 1 ]] || yesno "Are you sure you would like to delete $path?"
+
+ rm $recursive -f -v "$passfile"
if [[ -d $GIT_DIR && ! -e $passfile ]]; then
- git rm -r "$passfile"
+ git rm -qr "$passfile"
git commit -m "Removed $path from store."
fi
;;