mirror of
https://github.com/sobolevn/git-secret
synced 2024-10-31 21:20:29 +00:00
There was a bug with sed
command, when trying to remove
filename with slashes.
Now it is fixed. See `_delete_line` function. Closes #23
This commit is contained in:
parent
c25b1a2bca
commit
d523d8b8a9
@ -85,7 +85,8 @@ function _file_has_line {
|
||||
|
||||
|
||||
function _delete_line {
|
||||
_os_based __delete_line $@
|
||||
local escaped_path=$(echo "$1" | sed -e 's/[\/&]/\\&/g')
|
||||
sed -i.bak "/$escaped_path/d" "$2"
|
||||
}
|
||||
|
||||
|
||||
|
@ -6,11 +6,6 @@ function __replace_in_file_linux {
|
||||
}
|
||||
|
||||
|
||||
function __delete_line_linux {
|
||||
sed -i.bak "/$1/d" "$2"
|
||||
}
|
||||
|
||||
|
||||
function __temp_file_linux {
|
||||
local filename=$(mktemp)
|
||||
echo "$filename"
|
||||
|
@ -6,11 +6,6 @@ function __replace_in_file_osx {
|
||||
}
|
||||
|
||||
|
||||
function __delete_line_osx {
|
||||
sed -i.bak "/$1/d" "$2"
|
||||
}
|
||||
|
||||
|
||||
function __temp_file_osx {
|
||||
: "${TMPDIR:=/tmp}"
|
||||
local filename=$(mktemp -t _gitsecrets_XXX )
|
||||
|
@ -26,7 +26,7 @@ function reveal {
|
||||
while read line; do
|
||||
local encrypted_filename=$(_get_encrypted_filename "$line")
|
||||
|
||||
local base="$SECRETS_GPG_COMMAND --use-agent -q --decrypt"
|
||||
local base="$SECRETS_GPG_COMMAND --use-agent -q --decrypt --yes"
|
||||
if [[ ! -z "$homedir" ]]; then
|
||||
base="$base --homedir=$homedir"
|
||||
fi
|
||||
|
@ -5,6 +5,11 @@ load _test_base
|
||||
FIRST_FILE="file_to_hide1"
|
||||
SECOND_FILE="file_to_hide2"
|
||||
|
||||
# There was a bug with `sed` an slashes:
|
||||
# see https://github.com/sobolevn/git-secret/issues/23
|
||||
FOLDER="somedir"
|
||||
FILE_IN_FOLDER="${FOLDER}/file_to_hide3"
|
||||
|
||||
|
||||
function setup {
|
||||
install_fixture_full_key "$TEST_DEFAULT_USER"
|
||||
@ -12,8 +17,8 @@ function setup {
|
||||
set_state_git
|
||||
set_state_secret_init
|
||||
set_state_secret_tell "$TEST_DEFAULT_USER"
|
||||
set_state_secret_add "$FIRST_FILE" "$FIRST_FILE"
|
||||
set_state_secret_add "$SECOND_FILE" "$SECOND_FILE"
|
||||
set_state_secret_add "$FIRST_FILE" "somecontent"
|
||||
set_state_secret_add "$SECOND_FILE" "somecontent2"
|
||||
}
|
||||
|
||||
|
||||
@ -41,6 +46,22 @@ function teardown {
|
||||
}
|
||||
|
||||
|
||||
@test "run 'remove' with slashes in filename" {
|
||||
mkdir -p "$FOLDER"
|
||||
set_state_secret_add "$FILE_IN_FOLDER" "somecontent3"
|
||||
git secret hide
|
||||
|
||||
run git secret remove "$FILE_IN_FOLDER"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
local mapping_contains=$(grep "$FILE_IN_FOLDER" "$SECRETS_DIR_PATHS_MAPPING"; echo $?)
|
||||
[ "$mapping_contains" -eq 1 ]
|
||||
|
||||
local enctypted_file=$(_get_encrypted_filename $FILE_IN_FOLDER)
|
||||
[ -f "$enctypted_file" ]
|
||||
}
|
||||
|
||||
|
||||
@test "run 'remove -c'" {
|
||||
git secret hide
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user