lts-release-mail: Filter commit messages based on patterns

Instead of excluding 3 last commits before the release tag, exclude commits
based on regex patterns, specifically commits for doc changelog and any
merge commits.

This fixes release email generation for 2.8.15 and a few older releases.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Change-Id: Ib2d6d6188e1d448439bed44be75659b462aaa2a2
diff --git a/lts/lts-release-mail.py b/lts/lts-release-mail.py
index 1b7e048..6216ff5 100755
--- a/lts/lts-release-mail.py
+++ b/lts/lts-release-mail.py
@@ -8,6 +8,13 @@
 
 WORKDIR = "trusted-firmware-a"
 
+SKIP_PATTERNS = [
+    r"docs\(changelog\): ",
+    r"Merge changes from topic ",
+    r"Merge \".+\" into ",
+    r"Merge changes .+ into ",
+]
+
 
 def run(cmd):
     return subprocess.check_call(cmd, shell=True)
@@ -57,8 +64,12 @@
 
     subjects = []
     for l in os.popen("git log --oneline --reverse %s..%s" % (prev_release, args.release_tag)):
-        subjects.append(l.rstrip())
-    subjects = subjects[:-3]
+        skip = False
+        for pat in SKIP_PATTERNS:
+            if re.match(pat, l.split(" ", 1)[1]):
+                skip = True
+        if not skip:
+            subjects.append(l.rstrip())
 
     urls = []
     for s in subjects: