Hi Stephen,

While you're on a cleaning fix, may I suggest shellcheck.net? No
pressure :)

Regards,
Daniel

Stephen Finucane <step...@that.guru> writes:

> These tools are currently broken, but before beginning surgery let's
> clean things up. Use standard 4 spaces and the longer, but easier to
> read, if-else-fi syntax for comparison.
>
> Missing license headers are added for completeness sake.
>
> Signed-off-by: Stephen Finucane <step...@that.guru>
> Cc: Paul Jakma <p...@jakma.org>
> Cc: Tom Rini <tr...@konsulko.com>
> ---
>  tools/patchwork-update-commits |  33 +++++++++---
>  tools/post-receive.hook        | 116 
> ++++++++++++++++++++++++-----------------
>  2 files changed, 94 insertions(+), 55 deletions(-)
>
> diff --git a/tools/patchwork-update-commits b/tools/patchwork-update-commits
> index 820fd1c..d0f63a9 100755
> --- a/tools/patchwork-update-commits
> +++ b/tools/patchwork-update-commits
> @@ -1,17 +1,34 @@
>  #!/bin/bash
> +#
> +# Patchwork - automated patch tracking system
> +# Copyright (C) 2010 Jeremy Kerr <j...@ozlabs.org>
> +#
> +# This file is part of the Patchwork package.
> +#
> +# Patchwork is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# Patchwork is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with Patchwork; if not, write to the Free Software
> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
>  
>  toolsdir="$(dirname "$0")"
>  pwpath="${toolsdir}"/../patchwork
>  
> -if [ "$#" -lt 1 ]
> -then
> -     echo "usage: $0 <revspec>" >&2
> -     exit 1
> +if [ "$#" -lt 1 ]; then
> +    echo "usage: $0 <revspec>" >&2
> +    exit 1
>  fi
>  
>  git rev-list --reverse "$@" |
> -while read commit
> -do
> -     hash=$(git show "$commit" | python $pwpath/parser.py -#)
> -     $pwpath/bin/pwclient update -s Accepted -c "$commit" -h "$hash"
> +while read commit; do
> +    hash=$(git show "$commit" | python $pwpath/parser.py -#)
> +    $pwpath/bin/pwclient update -s Accepted -c "$commit" -h "$hash"
>  done
> diff --git a/tools/post-receive.hook b/tools/post-receive.hook
> index a4e8405..a19e1b2 100755
> --- a/tools/post-receive.hook
> +++ b/tools/post-receive.hook
> @@ -1,9 +1,24 @@
>  #!/bin/bash
> +# Patchwork - automated patch tracking system
> +# Copyright (C) 2010 martin f. krafft <madd...@madduck.net>
>  #
> -# Git post-receive hook to update Patchwork patches after Git pushes
> +# This file is part of the Patchwork package.
> +#
> +# Patchwork is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# Patchwork is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
>  #
> -# Copyright © 2010 martin f. krafft <madd...@madduck.net>
> -# Released under the GNU General Public License v2 or later.
> +# You should have received a copy of the GNU General Public License
> +# along with Patchwork; if not, write to the Free Software
> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
> +
> +# Git post-receive hook to update Patchwork patches after Git pushes
>  set -eu
>  
>  #TODO: the state map should really live in the repo's git-config
> @@ -22,58 +37,65 @@ trap "do_exit=1" INT
>  
>  get_patchwork_hash()
>  {
> -  local hash
> -  hash=$(git show -C $1 | python $PWDIR/parser.py --hash)
> -  echo $hash
> -  test -n "$hash"
> +    local hash
> +    hash=$(git show -C $1 | python $PWDIR/parser.py --hash)
> +    echo $hash
> +    test -n "$hash"
>  }
>  
> -get_patch_id()
> -{
> -  local id
> -  id=$($PWDIR/bin/pwclient info -h $1 2>/dev/null \
> -    | sed -rne 's,- id[[:space:]]*: ,,p')
> -  echo $id
> -  test -n "$id"
> +get_patch_id() {
> +    local id
> +    id=$($PWDIR/bin/pwclient info -h $1 2>/dev/null \
> +         | sed -rne 's,- id[[:space:]]*: ,,p')
> +    echo $id
> +    test -n "$id"
>  }
>  
> -set_patch_state()
> -{
> -  $PWDIR/bin/pwclient update -s $2 -c $3 $1 2>&1
> +set_patch_state() {
> +    $PWDIR/bin/pwclient update -s $2 -c $3 $1 2>&1
>  }
>  
> -update_patches()
> -{
> -  local cnt; cnt=0
> -  for rev in $(git rev-parse --not ${EXCLUDE} |
> -               git rev-list --stdin --no-merges --reverse ${1}..${2}); do
> -    if [ "$do_exit" = 1 ]; then
> -      echo "I: exiting..." >&2
> -      break
> -    fi
> -    hash=$(get_patchwork_hash $rev) \
> -      || { echo "E: failed to hash rev $rev." >&2; continue; }
> -    id=$(get_patch_id $hash) \
> -      || { echo "E: failed to find patch for rev $rev." >&2; continue; }
> -    reason="$(set_patch_state $id $3 $rev)" \
> -      || { echo "E: failed to update patch #$id${reason:+: $reason}." >&2; 
> continue; }
> -    echo "I: patch #$id updated using rev $rev." >&2
> -    cnt=$(($cnt + 1))
> -  done
> -  echo "I: $cnt patch(es) updated to state $3." >&2
> +update_patches() {
> +    local cnt; cnt=0
> +    for rev in $(git rev-parse --not ${EXCLUDE} |
> +                 git rev-list --stdin --no-merges --reverse ${1}..${2}); do
> +        if [ "$do_exit" = 1 ]; then
> +            echo "I: exiting..." >&2
> +            break
> +        fi
> +        hash=$(get_patchwork_hash $rev)
> +        if [ -z "$hash" ]; then
> +            echo "E: failed to hash rev $rev." >&2
> +            continue
> +        fi
> +        id=$(get_patch_id $hash)
> +        if [ -z "$id" ]; then
> +            echo "E: failed to find patch for rev $rev." >&2
> +            continue
> +        fi
> +        reason="$(set_patch_state $id $3 $rev)"
> +        if [ -z "$reason" ]; then
> +            echo "E: failed to update patch #$id${reason:+: $reason}." >&2
> +            continue
> +        fi
> +        echo "I: patch #$id updated using rev $rev." >&2
> +        cnt=$(($cnt + 1))
> +    done
> +
> +    echo "I: $cnt patch(es) updated to state $3." >&2
>  }
>  
>  while read oldrev newrev refname; do
> -  found=0
> -  for i in $STATE_MAP; do
> -    key="${i%:*}"
> -    if [ "$key" = "$refname" ]; then
> -      update_patches $oldrev $newrev ${i#*:}
> -      found=1
> -      break
> +    found=0
> +    for i in $STATE_MAP; do
> +        key="${i%:*}"
> +        if [ "$key" = "$refname" ]; then
> +            update_patches $oldrev $newrev ${i#*:}
> +            found=1
> +            break
> +        fi
> +    done
> +    if [ $found -eq 0 ]; then
> +        echo "E: STATE_MAP has no mapping for branch $refname" >&2
>      fi
> -  done
> -  if [ $found -eq 0 ]; then
> -    echo "E: STATE_MAP has no mapping for branch $refname" >&2
> -  fi
>  done
> -- 
> 2.9.3
>
> _______________________________________________
> Patchwork mailing list
> Patchwork@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/patchwork
_______________________________________________
Patchwork mailing list
Patchwork@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/patchwork

Reply via email to