Skip to content

Commit

Permalink
bug fix for 'reveal' in a subdir (#903) (#905)
Browse files Browse the repository at this point in the history
  • Loading branch information
ochanism authored Jul 19, 2022
1 parent 68a05aa commit b037861
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/commands/git_secret_reveal.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@ function reveal {

local counter=0
local to_show=( "$@" )
local path_prepend_func='_prepend_relative_root_path'

if [ ${#to_show[@]} -eq 0 ]; then
path_prepend_func='_prepend_root_path'
while read -r record; do
to_show+=("$record") # add record to array
done < "$path_mappings"
Expand All @@ -55,7 +57,7 @@ function reveal {
local filename
local path
filename=$(_get_record_filename "$line")
path=$(_prepend_relative_root_path "$filename") # this uses the _relative version because of #710
path=$("$path_prepend_func" "$filename")

if [[ "$filename" == *"$SECRETS_EXTENSION" ]]; then
_abort "cannot decrypt to secret version of file: $filename"
Expand Down
22 changes: 22 additions & 0 deletions tests/test_reveal.bats
Original file line number Diff line number Diff line change
Expand Up @@ -293,3 +293,25 @@ function teardown {
# clean up
rm -rf subdir
}

@test "run 'reveal' for all files from subdir" {
local password
password=$(test_user_password "$TEST_DEFAULT_USER")

mkdir -p subdir
echo "content2" > subdir/new_filename.txt

( # start subshell for subdir tests
cd subdir
run git secret add new_filename.txt
[ "$status" -eq 0 ]
run git secret hide
[ "$status" -eq 0 ]

run git secret reveal -d "$TEST_GPG_HOMEDIR" -p "$password"
[ "$status" -eq 0 ]
) # end subshell

# clean up
rm -rf subdir
}

0 comments on commit b037861

Please sign in to comment.