summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Boll <andreas.boll.dev@gmail.com>2013-04-17 18:14:44 +0200
committerAndreas Boll <andreas.boll.dev@gmail.com>2013-05-01 21:42:02 +0200
commitca79b72c00f035e2b48d554b42361829523f38ff (patch)
tree8d449ac7f14617059ee03ff96173a9193a4067c2
parentf6aab27d439d9a3ddc398fdcaedc625248f4dfe0 (diff)
downloadexternal_mesa3d-ca79b72c00f035e2b48d554b42361829523f38ff.zip
external_mesa3d-ca79b72c00f035e2b48d554b42361829523f38ff.tar.gz
external_mesa3d-ca79b72c00f035e2b48d554b42361829523f38ff.tar.bz2
mesa: Add a script to generate the list of fixed bugs
This list appears in the fixed bugs section of the release notes. v2: Add usage examples NOTE: This is a candidate for the stable branches.
-rwxr-xr-xbin/bugzilla_mesa.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/bin/bugzilla_mesa.sh b/bin/bugzilla_mesa.sh
new file mode 100755
index 0000000..491ca0e
--- /dev/null
+++ b/bin/bugzilla_mesa.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+# This script is used to generate the list of fixed bugs that
+# appears in the release notes files, with HTML formatting.
+#
+# Note: This script could take a while until all details have
+# been fetched from bugzilla.
+#
+# Usage examples:
+#
+# $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3
+# $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 > bugfixes
+# $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | tee bugfixes
+# $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3
+# $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | wc -l
+
+
+# regex pattern: trim before url
+trim_before='s/.*\(http\)/\1/'
+
+# regex pattern: trim after url
+trim_after='s/\(show_bug.cgi?id=[0-9]*\).*/\1/'
+
+# regex pattern: always use https
+use_https='s/http:/https:/'
+
+# extract fdo urls from commit log
+urls=$(git log $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before -e $trim_after -e $use_https | sort | uniq)
+
+# if DRYRUN is set to "yes", simply print the URLs and don't fetch the
+# details from fdo bugzilla.
+#DRYRUN=yes
+
+if [ "x$DRYRUN" = xyes ]; then
+ for i in $urls
+ do
+ echo $i
+ done
+else
+ echo "<ul>"
+ echo ""
+
+ for i in $urls
+ do
+ id=$(echo $i | cut -d'=' -f2)
+ summary=$(wget --quiet -O - $i | grep -e '<title>.*</title>' | sed -e 's/ *<title>Bug [0-9]\+ &ndash; \(.*\)<\/title>/\1/')
+ echo "<li><a href=\"$i\">Bug $id</a> - $summary</li>"
+ echo ""
+ done
+
+ echo "</ul>"
+fi