]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_codesigning/antlr2/scripts/make_change_log.tcl
Security-55471.tar.gz
[apple/security.git] / libsecurity_codesigning / antlr2 / scripts / make_change_log.tcl
diff --git a/libsecurity_codesigning/antlr2/scripts/make_change_log.tcl b/libsecurity_codesigning/antlr2/scripts/make_change_log.tcl
new file mode 100755 (executable)
index 0000000..50a17ab
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh
+# the next line restarts using tclsh \
+exec tclsh8.3 $0 $*
+
+# 
+# Sort the (C++) changes recorded in the repository by change number and
+# print them to stdout
+#
+set depots {//depot/code/org.antlr/dev/klaren.dev //depot/code/org.antlr/main/main }
+set files { /lib/cpp/... /antlr/... }
+set filespec ""
+foreach depot $depots {
+       foreach file $files {
+               append filespec "$depot$file "
+       }
+}
+
+puts stderr "Gettting changes from: $filespec"
+
+catch {set file [open "|p4 changes -l $filespec" r]}
+
+set cnt 0
+set changes {}
+set text ""
+set change_nr -1
+
+while {![eof $file]} {
+       set line [gets $file]
+
+       if { [regexp -- {^Change ([0-9]+).*$} $line dummy tmp] } {
+               # append the number to the list of found changes
+               lappend changes $tmp
+
+               if { $change_nr != -1 } {
+                       # were already working on change..
+                       # so we have text to store..
+                       set description($change_nr) $text
+               }
+
+               # remember number...
+               set change_nr $tmp
+               # reinit text
+               set text "[string trim $line]\n"
+       } else {
+               append text "   [string trim $line]\n"
+       }
+}
+
+set description($change_nr) $text
+
+catch {close $file}
+
+set sorted_changes [lsort -unique -integer -decreasing $changes]
+
+foreach change $sorted_changes {
+       puts $description($change)
+}