diff --git a/tools/tools/git/mfc-candidates.sh b/tools/tools/git/mfc-candidates.sh --- a/tools/tools/git/mfc-candidates.sh +++ b/tools/tools/git/mfc-candidates.sh @@ -128,6 +128,15 @@ sort } +commits_nomfc() +{ + # People tend to use: {X-,}MFC: {no,NO,never} usually + git log --first-parent --first-parent $authorarg $to_branch..$from_branch \ + --extended-regexp --grep 'MFC:.*(NO|no|never)$' "$@" |\ + awk '/^commit / { print $2 }' |\ + sort +} + # "cherry picked from" hashes from commits in to_branch after branch point commits_to() { @@ -151,6 +160,7 @@ workdir=$(mktemp -d /tmp/find-mfc.XXXXXXXXXX) from_list=$workdir/commits-from to_list=$workdir/commits-to +nomfc_list=$workdir/nomfc-list candidate_list=$workdir/candidates if [ -n "$exclude_file" ]; then @@ -159,6 +169,7 @@ fi commits_from "$@" > $from_list +commits_nomfc "$@" > $nomfc_list commits_to "$@" > $to_list comm -23 $from_list $to_list > $candidate_list @@ -167,6 +178,10 @@ mv $candidate_list $candidate_list.bak comm -23 $candidate_list.bak $exclude_list > $candidate_list fi +if [ -s "$nomfc_list" ]; then + mv $candidate_list $candidate_list.bak + comm -23 $candidate_list.bak $nomfc_list > $candidate_list +fi # Sort by (but do not print) commit time while read hash; do