diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-09-22 23:44:52 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-09-22 23:44:52 +0200 |
commit | b9cc8f2f78283dfbf04de0891d67f5494d8f92f8 (patch) | |
tree | 6c36ad63f532b05b369df01e64e4000015d30496 | |
parent | a1811d68b7949150bca11b5ccfd30264cc7e0eab (diff) | |
download | pass-b9cc8f2f78283dfbf04de0891d67f5494d8f92f8.tar.gz pass-b9cc8f2f78283dfbf04de0891d67f5494d8f92f8.tar.bz2 pass-b9cc8f2f78283dfbf04de0891d67f5494d8f92f8.zip |
Fix directory removal.
Diffstat (limited to '')
-rwxr-xr-x | src/password-store.sh | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/password-store.sh b/src/password-store.sh index f642a03..5e168c1 100755 --- 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 ;; |