Files
blackbox/bin/blackbox_diff

49 lines
1.2 KiB
Plaintext
Raw Permalink Normal View History

2015-02-26 17:34:49 +01:00
#!/usr/bin/env bash
#
# blackbox_diff -- Show all differences.
#
set -e
source "${0%/*}/_blackbox_common.sh"
2015-02-26 17:34:49 +01:00
gpg_agent_notice
2015-02-26 17:34:49 +01:00
prepare_keychain
modified_files=()
modifications=()
2015-02-26 17:34:49 +01:00
echo '========== DIFFING FILES: START'
2016-05-17 12:58:13 -04:00
while IFS= read <&99 -r encodedname; do
local name
name=$(echo $encodedname)
unencrypted_file=$(get_unencrypted_filename "$name")
2015-02-26 17:34:49 +01:00
encrypted_file=$(get_encrypted_filename "$unencrypted_file")
fail_if_not_on_cryptlist "$unencrypted_file"
if [[ -f "$unencrypted_file" ]]; then
out=$(diff -u <($GPG --yes -q --decrypt "$encrypted_file") "$unencrypted_file" || true)
2015-02-26 17:34:49 +01:00
if [ "$out" != "" ]; then
modified_files+=("$unencrypted_file")
modifications+=("$out")
2015-02-26 17:34:49 +01:00
fi
fi
done 99<"$BB_FILES"
modified_files_number=${#modified_files[@]}
for (( i=0; i<${modified_files_number}; i++ )); do
echo ========== PROCESSING '"'${modified_files[$i]}'"'
echo -e "${modifications[$i]}\n"
done
2015-02-26 17:34:49 +01:00
echo '========== DIFFING FILES: DONE'
fail_if_keychain_has_secrets
echo '========== DONE.'
if [ ${#modified_files[@]} -eq 0 ] ; then
exit 0
fi
echo 'Likely next steps:'
for f in "${modified_files[@]}" ; do
echo " blackbox_edit_end" '"'$f'"'
done