[pacman-dev] [PATCH 4/5] pacdiff: rework search type handling, add --find option
Allan McRae
allan at archlinux.org
Sat Jul 20 22:49:58 EDT 2013
On 17/07/13 04:00, Jonathan Frazier wrote:
> change cmd tests to if (( $find ))... as it is cleaner. All search cmds
> have an option and a variable initialized to zero. the active option
> should be set to 1. Add a switch to exclude multiple search options.
> set the default when all are equal to zero.
>
> Signed-off-by: Jonathan Frazier <eyeswide at gmail.com>
> ---
> contrib/pacdiff.sh.in | 26 +++++++++++++++++++-------
> 1 file changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/contrib/pacdiff.sh.in b/contrib/pacdiff.sh.in
> index a39a02a..c12e9d5 100644
> --- a/contrib/pacdiff.sh.in
> +++ b/contrib/pacdiff.sh.in
> @@ -23,19 +23,23 @@ declare -r myver='@PACKAGE_VERSION@'
>
> diffprog=${DIFFPROG:-vimdiff}
> diffsearchpath=${DIFFSEARCHPATH:-/etc}
> -locate=0
> USE_COLOR='y'
>
> +declare -i findActive=0 locateActive=0
> +
> m4_include(../scripts/library/output_format.sh)
>
> usage() {
> cat <<EOF
> $myname is a simple pacnew/pacorig/pacsave updater.
>
> -Usage: $myname [-l]
> +Usage: $myname [-l | -f] [--nocolor]
> +
> +Search Options: select one, default: find
> + -l/--locate scan using locate
> + -f/--find scan using find
>
> -Options:
> - -l/--locate scan using locate (default: find)
> +General Options:
> --nocolor remove colors from output
>
> Enviroment Variables:
> @@ -55,9 +59,9 @@ version() {
> }
>
> cmd() {
> - if [ $locate -eq 1 ]; then
> + if (( $locateActive )); then
> locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave '*.pacsave.[0-9]'
> - else
> + elif (( $findActive )); then
> find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o -name \*.pacsave -o -name '*.pacsave.[0-9]' \) -print0
> fi
> }
> @@ -65,7 +69,9 @@ cmd() {
> while [[ -n "$1" ]]; do
> case "$1" in
> -l|--locate)
> - locate=1;;
> + locateActive=1;;
Can you fix the indentation here too? Extra tabs needed.
> + -f|--find)
> + findActive=1;;
> --nocolor)
> USE_COLOR='n' ;;
> -V|--version)
> @@ -80,6 +86,12 @@ done
>
> m4_include(../scripts/library/term_colors.sh)
>
> +case $(( findActive+locateActive )) in
> + 0) findActive=1;; # set the default search option
> + [^1]) error "Only one search option may be used at a time"
> + usage; exit 1;;
> +esac
> +
> # see http://mywiki.wooledge.org/BashFAQ/020
> while IFS= read -u 3 -r -d '' pacfile; do
> file="${pacfile%.pac*}"
>
More information about the pacman-dev
mailing list