[pacman-dev] [PATCH v2] pacdiff: Search and give warnings for older pacsave.[0-9] files

Dave Reisner d at falconindy.com
Thu Jul 11 13:57:05 EDT 2013


On Thu, Jul 11, 2013 at 01:47:41PM -0400, Jonathan Frazier wrote:
> Signed-off-by: Jonathan Frazier <eyeswide at gmail.com>
> ---
>  contrib/pacdiff.sh.in | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/contrib/pacdiff.sh.in b/contrib/pacdiff.sh.in
> index 47779d6..1c413c1 100644
> --- a/contrib/pacdiff.sh.in
> +++ b/contrib/pacdiff.sh.in
> @@ -47,9 +47,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 +71,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%%[[:digit:]]*}" == "pacsave." ]; then

If you used a bash test here, you could write this as:

  if [[ $file_type = pacsave.+([0-9]) ]]; then

...which I think is much more readable, and accurate.

> +		oldsaves+=("$pacfile")
> +		continue
> +	fi
> +
>  	msg "%s file found for %s" "$file_type" "$file"
>  	if [ ! -f "$file" ]; then
>  		warning "$file does not exist"
> @@ -97,6 +103,8 @@ while IFS= read -u 3 -r -d '' pacfile; do
>  	fi
>  done 3< <(cmd)
>  
> +(( ${#oldsaves[@]} > 0 )) && warning "Ignoring %s" "${oldsaves[@]}"
> +
>  exit 0
>  
>  # vim: set ts=2 sw=2 noet:
> -- 
> 1.8.3.2
> 
> 


More information about the pacman-dev mailing list