<div dir="ltr"><div>Hi,</div><div><br></div><div>I use pass to store passwords for
password-protected ssh keys. I store the password under a path matching
the path to the key. For the key `~/.ssh/id_rsa`, I store the password
at `$PASS_ROOT/$HOME/.ssh/id_rsa`. With `pass list` and `pass find`, this path is not shown by `pass` because `-a` is not passed to `tree`.</div><div><br></div><div>There
are two options for patches that I would like to propose. The first
passes `-a` to `tree` with a catch to ignore the special `.gpg-id` file.
The second allows the user to specify additional `tree` arguments with
an environment variable.</div><div><br></div><div>Please let me know if you have any questions or suggestions.</div><div><br></div><div>Thanks!</div><div>Chad</div><div><br></div><div>From f82769d8dbcaa053dac205f763328f957d57ffd0 Mon Sep 17 00:00:00 2001<br>From: Chad Voegele <<a href="mailto:cavoegele@gmail.com">cavoegele@gmail.com</a>><br>Date: Mon, 26 Aug 2019 20:00:14 -0700<br>Subject: [PATCH] Append '-a' to tree args to show all files<br><br>---<br> src/password-store.sh | 4 ++--<br> 1 file changed, 2 insertions(+), 2 deletions(-)<br><br>diff --git a/src/password-store.sh b/src/password-store.sh<br>index 1d119f2..37f7f31 100755<br>--- a/src/password-store.sh<br>+++ b/src/password-store.sh<br>@@ -399,7 +399,7 @@ cmd_show() {<br> else<br> echo "${path%\/}"<br> fi<br>- tree -C -l --noreport "$PREFIX/$path" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g' # remove .gpg at end of line, but keep colors<br>+ tree -C -l --noreport -a -I '.gpg-id' "$PREFIX/$path" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g' # remove .gpg at end of line, but keep colors<br> elif [[ -z $path ]]; then<br> die "Error: password store is empty. Try \"pass init\"."<br> else<br>@@ -411,7 +411,7 @@ cmd_find() {<br> [[ $# -eq 0 ]] && die "Usage: $PROGRAM $COMMAND pass-names..."<br> IFS="," eval 'echo "Search Terms: $*"'<br> local terms="*$(printf '%s*|*' "$@")"<br>- tree -C -l --noreport -P "${terms%|*}" --prune --matchdirs --ignore-case "$PREFIX" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g'<br>+ tree -C -l --noreport -P "${terms%|*}" --prune --matchdirs --ignore-case -a -I '.gpg-id' "$PREFIX" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g'<br> }<br> <br> cmd_grep() {<br>-- <br>2.22.0<br></div><div><br></div><div>From 620b6b72d3484a2b22b9f251b0a873cf643c7738 Mon Sep 17 00:00:00 2001<br>From: Chad Voegele <<a href="mailto:cavoegele@gmail.com">cavoegele@gmail.com</a>><br>Date: Mon, 26 Aug 2019 20:03:53 -0700<br>Subject: [PATCH] Allow user specified tree arguments<br><br>---<br> src/password-store.sh | 4 ++--<br> 1 file changed, 2 insertions(+), 2 deletions(-)<br><br>diff --git a/src/password-store.sh b/src/password-store.sh<br>index 1d119f2..38aff71 100755<br>--- a/src/password-store.sh<br>+++ b/src/password-store.sh<br>@@ -399,7 +399,7 @@ cmd_show() {<br> else<br> echo "${path%\/}"<br> fi<br>- tree -C -l --noreport "$PREFIX/$path" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g' # remove .gpg at end of line, but keep colors<br>+ tree -C -l --noreport $PASSWORD_STORE_TREE_OPTS "$PREFIX/$path" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g' # remove .gpg at end of line, but keep colors<br> elif [[ -z $path ]]; then<br> die "Error: password store is empty. Try \"pass init\"."<br> else<br>@@ -411,7 +411,7 @@ cmd_find() {<br> [[ $# -eq 0 ]] && die "Usage: $PROGRAM $COMMAND pass-names..."<br> IFS="," eval 'echo "Search Terms: $*"'<br> local terms="*$(printf '%s*|*' "$@")"<br>- tree -C -l --noreport -P "${terms%|*}" --prune --matchdirs --ignore-case "$PREFIX" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g'<br>+ tree -C -l --noreport -P "${terms%|*}" --prune --matchdirs --ignore-case $PASSWORD_STORE_TREE_OPTS "$PREFIX" | tail -n +2 | sed -E 's/\.gpg(\x1B\[[0-9]+m)?( ->|$)/\1\2/g'<br> }<br> <br> cmd_grep() {<br>-- <br>2.22.0<br><br></div></div>