It's explained in the rules, but tricky. Let's use computers to get it right ;-) Note that Cc: drm-intel-fixes has a few false positives since the script can't predict when exactly the feature cutoff is going to be. But that's better than losing a few bugfixes. Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> --- dim | 29 +++++++++++++++++++++++++---- drm-intel.rst | 2 ++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/dim b/dim index 07ebc56cf36f..d9c1be5a687e 100755 --- a/dim +++ b/dim @@ -43,8 +43,6 @@ # resulting -nightly with the old one. Current the branch must be pushed out # first for rebuild-nightly to pick it up, which means the merge can't be # fixed any more. -# - improve dim tag-contains to automatically print the right Cc: line for -# bugfixes. Or maybe add that logic to dim fixes. # fail on any goof-up set -e @@ -1149,7 +1147,7 @@ function dim_cat_to_fixup function dim_tc { cd $DIM_PREFIX/$DIM_DRM_INTEL - tag=$(git tag --contains $1 | grep ^v | sort -V | head -n 1) + local tag=$(git tag --contains $1 | grep ^v | sort -V | head -n 1) if [[ -n "$tag" ]]; then echo "$tag" else @@ -1164,9 +1162,32 @@ function dim_tc function dim_fixes { - sha1=$1 + cd $DIM_PREFIX/$DIM_DRM_INTEL + local sha1=$1 + git log -1 $sha1 "--pretty=format:Fixes: %H (\"%s\")%n" | \ sed -e 's/\([0-f]\{12\}\)[0-f]*/\1/' + + local tag=$(git tag --contains $1 | grep ^v | sort -V | head -n 1) + if [[ -n "$tag" ]]; then + if echo "$tag" | grep -e "-rc" &> /dev/null ; then + echo Cc: drm-intel-fixes@xxxxxxxxxxxxxxxxxxxxx + else + echo Cc: stable@xxxxxxxxxxxxxxx + fi + else + git fetch $DIM_DRM_INTEL_REMOTE + # Check whether it's already in a feature pile tag + if git merge-base --is-ancestor $sha1 $DIM_DRM_INTEL_REMOTE/drm-intel-next ; then + # Make sure we're in the critical window where we might + # need to cherry-pick to dinf. critical window is -rc5 + # up to end of merge window, hence exclude if in -rc1 + # through rc-4. + if ! git tag | grep ^v | sort -V | tail -n1 | grep -e "-rc[1-4]$" &> /dev/null ; then + echo Cc: drm-intel-fixes@xxxxxxxxxxxxxxxxxxxxx + fi + fi + fi } function dim_help diff --git a/drm-intel.rst b/drm-intel.rst index 89df24b9a0fd..433a33d6b1cc 100644 --- a/drm-intel.rst +++ b/drm-intel.rst @@ -171,6 +171,8 @@ recommended format please generate the Fixes: line using :: $ dim fixes $regressing_commit +This will also add the correct Cc: line if one is needed. + If the Cc: or Fixes: was forgotten, you can still reply to the list with that, just like any other tags, and they should be picked up by whoever pushes the patch. -- 2.8.0.rc3 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx