github.com/StackExchange/blackbox/v2@v2.0.1-0.20220331193400-d84e904973ab/bin/blackbox_diff (about) 1 #!/usr/bin/env bash 2 3 # 4 # blackbox_diff -- Show all differences. 5 # 6 7 set -e 8 source "${0%/*}/_blackbox_common.sh" 9 10 gpg_agent_notice 11 prepare_keychain 12 13 modified_files=() 14 modifications=() 15 echo '========== DIFFING FILES: START' 16 while IFS= read <&99 -r unencrypted_file; do 17 unencrypted_file=$(get_unencrypted_filename "$unencrypted_file") 18 encrypted_file=$(get_encrypted_filename "$unencrypted_file") 19 fail_if_not_on_cryptlist "$unencrypted_file" 20 if [[ -f "$unencrypted_file" ]]; then 21 out=$(diff -u <($GPG --yes -q --decrypt "$encrypted_file") "$unencrypted_file" || true) 22 if [ "$out" != "" ]; then 23 modified_files+=("$unencrypted_file") 24 modifications+=("$out") 25 fi 26 fi 27 done 99<"$BB_FILES" 28 modified_files_number=${#modified_files[@]} 29 for (( i=0; i<${modified_files_number}; i++ )); do 30 echo ========== PROCESSING '"'${modified_files[$i]}'"' 31 echo -e "${modifications[$i]}\n" 32 done 33 echo '========== DIFFING FILES: DONE' 34 35 fail_if_keychain_has_secrets 36 37 echo '========== DONE.' 38 39 if [ ${#modified_files[@]} -eq 0 ] ; then 40 exit 0 41 fi 42 43 echo 'Likely next steps:' 44 for f in "${modified_files[@]}" ; do 45 echo " blackbox_edit_end" '"'$f'"' 46 done