In case a fix was not propagated yet to upstream, the original commit sha won't be found hence the fix of this fix will be missed during the cherry-pick.
Since dim cherry-picks reliably adds the -x "(cherry picked from" message, let's also grep in the log to see if that was the case, before we give up and forget. Also, if that's the case, let's then add the extra 'Fixes:' tag for a better record. Signed-off-by: Rodrigo Vivi <rodrigo.v...@intel.com> --- dim | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dim b/dim index 4b43bf8..e26b22f 100755 --- a/dim +++ b/dim @@ -1485,8 +1485,13 @@ function cherry_pick_branch # Note: Cc: stable will overrule Fixes: if [[ -n "$have_fixes" && -z "$needed" ]]; then - echo "Fixes a commit not in $branch. OK." - continue + + fixes=$(git log -1 --format=format:%h $fixes 2>/dev/null || true) + fix_of_fix=$(git log --grep="cherry picked from commit $fixes" --after=6months --format=format:%h drm-intel-next-fixes -1) + if [[ -z "$fix_of_fix" ]]; then + echo "Fixes a commit not in $branch. OK." + continue + fi fi echo "Try to cherry-pick." @@ -1495,6 +1500,10 @@ function cherry_pick_branch echo "FAILED: $(dim_cite $commit)" (dim_cite $commit) >> $fail_log git cherry-pick --abort + else + if [[ "$fix_of_fix" ]]; then + dim_commit_add_tag "Fixes: $(dim_cite $fix_of_fix)" + fi fi done -- 2.37.1