Op 12-07-17 om 11:53 schreef Jani Nikula:
> 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.
How about the following?

add-missing-cc
--------------
Adds all maintainers from scripts/get_maintainer.pl as cc's to the topmost
commit. Any duplicates by name or email will be removed, so this can be used
with *git rebase --exec "dim add-missing-cc"* to add cc's for an entire patch
series that affect multiple drivers each with different maintainers.

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to