[Libreoffice-commits] core.git: bin/check-merged.sh

Jan Holesovsky kendy at collabora.com
Fri Nov 14 06:09:51 PST 2014


 bin/check-merged.sh |   36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

New commits:
commit 710c664083063b4ab5aaa246f204a6f4db9078c0
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Fri Nov 14 15:07:14 2014 +0100

    Script that finds commits in a branch that were not pushed to master.
    
    Trivial, but based on the Change-Id's, so hopefully reliable enough :-)
    
    Change-Id: I919a2dc47f088ec4d1111750b74c68a0b062478d

diff --git a/bin/check-merged.sh b/bin/check-merged.sh
new file mode 100755
index 0000000..cd39c42
--- /dev/null
+++ b/bin/check-merged.sh
@@ -0,0 +1,36 @@
+#! /bin/bash
+#
+# check that master contains all the patches from a brach
+# and list those that are missing
+#
+
+BRANCH="$1"
+[ -z "$BRANCH" ] && {
+    cat 1>&2 << EOF
+check-merged.sh branchname
+
+Checks that all the patches from branch 'branchname' are in master, and
+reports the commits that are not.
+
+The check is based on the Change-Id's, so if some commits are missing it, they
+won't be detected as missing.
+EOF
+    exit 1;
+}
+
+function collect_change_ids {
+    git log `git merge-base origin/master origin/feature/opengl-vcl`.."$1" | \
+        sed 's/^commit /XXXcommitXXX/g' | \
+        tr '\n' ';' | \
+        sed 's/XXXcommitXXX/\n/g' | \
+        sed -e 's/;.*Change-Id://' -e 's/;.*$//' | \
+        grep -v '^$'> "$2"
+}
+
+collect_change_ids "$BRANCH" /tmp/check-merged.branch
+collect_change_ids "origin/master" /tmp/check-merged.master
+
+cat /tmp/check-merged.branch | \
+    while read COMMIT CHID ; do
+        [ -n "$CHID" -a "$CHID" != " " ] && grep -q "$CHID" /tmp/check-merged.master || echo "$COMMIT not in origin/master"
+    done


More information about the Libreoffice-commits mailing list