diff-memberships: add list diffing script
authorAlex Dehnert <adehnert@mit.edu>
Fri, 27 Sep 2013 21:37:36 +0000 (17:37 -0400)
committerAlex Dehnert <adehnert@mit.edu>
Fri, 27 Sep 2013 21:37:36 +0000 (17:37 -0400)
This is the list-diffing script that I've used for a while, in its original
version. It has not yet been cleaned up for others to use.

diff-memberships [new file with mode: 0755]

diff --git a/diff-memberships b/diff-memberships
new file mode 100755 (executable)
index 0000000..92016f2
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+qy="athrun ops qy"
+
+#queries="get_ace_use get_lists_of_member"
+queries=( "gaus" "glom" )
+subjectname="$USER"
+for query in ${queries[@]}; do
+    for mod in "" "r"; do
+        hmod=$mod
+        if [ -z "$mod" ]; then hmod="nr"; fi
+        $qy $query ${mod}user "$subjectname" -s | sort > data/$query-user-$hmod.txt
+        $qy $query ${mod}kerberos "$subjectname@ATHENA.MIT.EDU" -s | sort > data/$query-kerb-$hmod.txt
+    done
+done
+
+cd "$(dirname "$0")/data/"
+
+stat="$(git diff --stat)"
+
+for file in *.txt; do
+    result="$(git diff "$file")"
+    if [ -n "$result" ]; then
+        zwrite -c "$subjectname-lists" -i "$file" "$subjectname" -m "$result"
+    fi
+done
+
+git commit -a -m "$(printf "Regular list update: %s\n\n%s" "$(date)" "$stat")"