On ke, 2016-03-23 at 16:04 +0100, Daniel Vetter wrote: > 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 Thanks, this makes things easier. Could you explain still, the exclusion of rc1-4 timeframe? I understood that if the regressing commit is already in drm-next (as shown by the fact that it's contained in drm-intel-next) then we need the -fixes label regardless. Or do the fixes get upstream via another channel than drm-intel-fixes during the rc1-4 timeframe? Thanks, Imre > + 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. _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx