diff options
-rw-r--r-- | contrib/pacdiff.sh.in | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/contrib/pacdiff.sh.in b/contrib/pacdiff.sh.in index 16365d3e..c3c05d2d 100644 --- a/contrib/pacdiff.sh.in +++ b/contrib/pacdiff.sh.in @@ -25,6 +25,7 @@ diffprog=${DIFFPROG:-vimdiff} diffsearchpath=${DIFFSEARCHPATH:-/etc} locate=0 USE_COLOR='y' +declare -a oldsaves m4_include(../scripts/library/output_format.sh) @@ -47,9 +48,9 @@ version() { cmd() { if [ $locate -eq 1 ]; then - locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave + locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave '*.pacsave.[0-9]*' else - find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o -name \*.pacsave \) -print0 + find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o -name \*.pacsave -o -name '*.pacsave.[0-9]*' \) -print0 fi } @@ -71,6 +72,12 @@ while IFS= read -u 3 -r -d '' pacfile; do file="${pacfile%.pac*}" file_type="pac${pacfile##*.pac}" + # add matches for pacsave.N to oldsaves array, do not prompt + if [[ $file_type = pacsave.+([0-9]) ]]; then + oldsaves+=("$pacfile") + continue + fi + msg "%s file found for %s" "$file_type" "$file" if [ ! -f "$file" ]; then warning "$file does not exist" @@ -98,6 +105,8 @@ while IFS= read -u 3 -r -d '' pacfile; do fi done 3< <(cmd) +(( ${#oldsaves[@]} )) && warning "Ignoring %s" "${oldsaves[@]}" + exit 0 # vim: set ts=2 sw=2 noet: |