On Wed, 12 Jul 2017, Maarten Lankhorst <maarten.lankho...@linux.intel.com> 
wrote:
> This commit will take the topmost commit and add all cc's from
> get_maintainer.pl, it is useful for adding cc's to an entire patch
> series touching multiple drivers, to add the right cc to each one.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
> ---
>  dim     | 41 +++++++++++++++++++++++++++++++++++++++++
>  dim.rst |  6 ++++++
>  2 files changed, 47 insertions(+)
>
> diff --git a/dim b/dim
> index 267dbc0313b1..2378ec56e438 100755
> --- a/dim
> +++ b/dim
> @@ -1914,6 +1914,47 @@ function dim_fixes
>       fi
>  }
>  
> +function dim_add_missing_cc
> +{
> +     git show | scripts/get_maintainer.pl --email --norolestats 
> --pattern-depth 1 | while read cc; do
> +             email="$(echo "$cc" | sed -e 's/.*<//' -e 's/>.*//')"
> +             name=''
> +
> +             if echo "$cc" | grep -q '<'; then
> +                     name="$(echo ${cc/<*/} | sed -e 's/[[:space:]]*\$//')";
> +             fi
> +
> +             # Don't add main mailing lists
> +             if [ "$email" = "dri-devel@lists.freedesktop.org" -o \
> +                  "$email" = "linux-ker...@vger.kernel.org}" ]; then
> +                     continue
> +             fi
> +
> +             # Variables from the while loop don't propagate,
> +             # print out a 1 on success
> +             matches=$(
> +                     git show -s | grep -i "^    Cc:" | sed 's/^ *[Cc][Cc]: 
> *//' | while read testcc; do
> +                             testemail="$(echo "$testcc" | sed -e 's/.*<//' 
> -e 's/>.*//')"
> +
> +                             if [ "$testemail" != "$email" ]; then
> +                                     if [ -z "$name" ]; then continue; fi
> +
> +                                     testname="$(echo ${testcc/<*/} | sed -e 
> 's/[[:space:]]*\$//' -e 's/^[[:space:]]*//')"
> +
> +                                     if [ "$testname" != "$name" ]; then 
> continue; fi
> +                             fi
> +
> +                             echo 1
> +                             break
> +                     done
> +             )
> +
> +             if [ -z "$matches" ]; then
> +                     $DRY dim_commit_add_tag "Cc: ${cc}"
> +             fi
> +     done
> +}
> +
>  function dim_help
>  {
>       manpage=$DIM_PREFIX/maintainer-tools/dim.rst
> diff --git a/dim.rst b/dim.rst
> index 10572f139130..ae511ca54cbe 100644
> --- a/dim.rst
> +++ b/dim.rst
> @@ -274,6 +274,12 @@ add-link-queued
>  **add-link** shorthands for *drm-intel-fixes*, *drm-intel-next-fixes*, and
>  *drm-intel-next-queued* branches respectively.
>  
> +add-missing-cc
> +--------------
> +Adds missing cc's to the topmost commit, can be used with

This needs the explanation what missing cc's are and where they are
added from.

BR,
Jani.

> +*git rebase --exec "dim add-missing-cc"*
> +to add cc's for an entire patch series.
> +
>  magic-rebase-resolve
>  --------------------
>  Tries to resolve a rebase conflict by first resetting the tree

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to