diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-04-18 12:57:45 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-04-18 12:57:45 +0200 |
commit | 8066a2b222a31cf5ac217de5e26a267a2100940e (patch) | |
tree | d5ef0fdc1b00e3a32d38773dc00d1ce232b5f00f | |
parent | ac045fe4254306fbcc32ffce058b860d5a473b98 (diff) | |
download | pass-8066a2b222a31cf5ac217de5e26a267a2100940e.tar.gz pass-8066a2b222a31cf5ac217de5e26a267a2100940e.tar.bz2 pass-8066a2b222a31cf5ac217de5e26a267a2100940e.zip |
Pruning: turns out rmdir does it for us with -p.
-rwxr-xr-x | src/password-store.sh | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/password-store.sh b/src/password-store.sh index 572ce2a..f80f026 100755 --- a/src/password-store.sh +++ b/src/password-store.sh @@ -114,12 +114,6 @@ reencrypt_path() { prev_gpg_recipients="${GPG_RECIPIENTS[@]}" done } -remove_empty_directories() { - local old_dir="$1" - while rmdir "$old_dir" &>/dev/null; do - old_dir="${old_dir%/*}" - done -} # # END helper functions @@ -281,7 +275,7 @@ cmd_init() { git rm -qr "$gpg_id" git_commit "Deinitialized ${gpg_id}." fi - remove_empty_directories "${gpg_id%/*}" + rmdir -p "${gpg_id%/*}" 2>/dev/null exit 0 fi @@ -545,7 +539,7 @@ cmd_delete() { git rm -qr "$passfile" git_commit "Removed $path from store." fi - remove_empty_directories "${passfile%/*}" + rmdir -p "${passfile%/*}" 2>/dev/null } cmd_copy_move() { @@ -593,7 +587,7 @@ cmd_copy_move() { git rm -qr "$old_path" git_add_file "$new_path" "Renamed ${1} to ${2}." fi - remove_empty_directories "$old_dir" + rmdir -p "$old_dir" 2>/dev/null else cp $interactive -r -v "$old_path" "$new_path" || exit 1 [[ -e "$new_path" ]] && reencrypt_path "$new_path" |