SVN: toys/stbr/stbr.tcl

shadzik shadzik at pld-linux.org
Tue May 15 04:27:56 CEST 2007


Author: shadzik
Date: Tue May 15 04:27:55 2007
New Revision: 8539

Modified:
   toys/stbr/stbr.tcl
Log:
- add branch option
- version 0.4


Modified: toys/stbr/stbr.tcl
==============================================================================
--- toys/stbr/stbr.tcl	(original)
+++ toys/stbr/stbr.tcl	Tue May 15 04:27:55 2007
@@ -7,10 +7,11 @@
 set cntr 0
 set towho "./scripts/sent.txt"
 set cvsroot ":pserver:cvs at cvs.pld-linux.org:/cvsroot"
+set usage "Usage: !stbr th-{ready|test} spec1\[:BRANCH\] spec2\[:BRANCH\] ..."
 
-proc cvs { spec } {
+proc cvs {spec branch} {
 	global cvsroot
-	if {[catch {exec cvs -d $cvsroot log SPECS/$spec} results]} {
+	if {[catch {exec cvs -d $cvsroot log -r$branch SPECS/$spec} results]} {
 		return 0
 	}
 return 1
@@ -21,22 +22,23 @@
 bind pub * stbr, pub:stbr
 
 proc pub:stbr {nick host hand chan arg} {
-global file back cntr logfile towho
+global file back cntr logfile towho usage
 putcmdlog "#$hand# Noticed Send To Build Request Mail command";
 set first [lindex $arg 0]
 set second [lindex $arg 1]
 set specs ""; append specs $second; append specs " "; append specs [lrange $arg 2 end]
 set rspecs ""
-if {!([string match th-ready $first] || [string match th-test $first])} {putserv "privmsg $chan :$nick: Usage: !stbr th-{ready|test} spec1 spec2 ..."; return 0}
-if {([string length $second]<2)} {putserv "privmsg $chan :$nick: Usage: !stbr th-{ready|test} spec1 spec2 ..."; return 0}
+if {!([string match th-ready $first] || [string match th-test $first])} {putserv "privmsg $chan :$nick: $usage"; return 0}
+if {([string length $second]<2)} {putserv "privmsg $chan :$nick: $usage"; return 0}
 if {$cntr<1} {incr cntr} {utimer 30 "set cntr 0"; putserv "privmsg $chan :$nick: I reached my STBR time limit (30sec). Please try later."; return 0}
 set time [clock seconds]
 set date [clock format $time -format "%d.%m.%Y %H:%M:%S"]
 exec sqlite $logfile "INSERT INTO stbr VALUES('$date','$nick');"
 foreach spec $specs {
+if {([string match *:* $spec])} {set splited [split $spec ":"];set spec [lindex $splited 0]; set branch [lindex $splited 1]} {set branch "HEAD"}
 if {!([string match *.spec $spec])} { append spec ".spec"}
-if {([cvs $spec] == 0)} {putserv "privmsg $chan :$nick: There is no such spec ($spec) in PLD's repository."; return 0}
-lappend rspecs $spec
+if {([cvs $spec $branch] == 0)} {putserv "privmsg $chan :$nick: There is no such spec ($spec) on branch $branch in PLD's repository."; return 0}
+lappend rspecs $spec; append rspecs ":$branch"
 if {[exec $file $nick $first $spec]==0} {putserv "privmsg $chan :$nick: An error occured. Couldn't send STBR Mail for $spec."; return 1}
 set tfile [open $towho r]
 gets $tfile person; append rspecs " (to $person)"
@@ -47,4 +49,4 @@
 if {$cntr<1} {incr cntr} {utimer 30 "set cntr 0"; return 1}
 }
 
-putlog "Send To Builder Request TCL v0.3 by shadzik loaded."
+putlog "Send To Builder Request TCL v0.4 by shadzik loaded."


More information about the pld-cvs-commit mailing list