third_party: Add shell script that updates marl.

I find myself copy and pasting the commands out of the previous change, looking in the squash change for the SHAs and descriptions, and amending the top merge change with all this info. It's tedious.

This script does all of this with a one-liner.

Bug: b/140546382
Change-Id: I2ecfd8074b053cbf6de4001a56bca2ffbaccba42
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/41230
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/third_party/update-marl.sh b/third_party/update-marl.sh
new file mode 100755
index 0000000..0750b9a
--- /dev/null
+++ b/third_party/update-marl.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# update-marl merges the latest changes from the github.com/google/marl into
+# third_party/marl. This script copies the change descriptions from the squash
+# change into the top merge change, along with a standardized description.
+REASON=$1
+
+if [ ! -z "$REASON" ]; then
+  REASON="\n$REASON\n"
+fi
+
+git subtree pull --prefix third_party/marl https://github.com/google/marl master --squash -m "Update marl"
+
+ALL_CHANGES=`git log -n 1 HEAD^2 | egrep '^(\s{4}[0-9a-f]{9}\s*.*)$'`
+HEAD_CHANGE=`echo "$ALL_CHANGES" | egrep '[0-9a-f]{9}' -o -m 1`
+LOG_MSG=`echo -e "Update Marl to $HEAD_CHANGE\n${REASON}\nChanges:\n$ALL_CHANGES\n\nCommands:\n    git subtree pull --prefix third_party/marl https://github.com/google/marl master --squash\n\nBug: b/140546382"`
+git commit --amend -m "$LOG_MSG"
\ No newline at end of file