cdf5e6d8b7 2007-09-13 aku: # ----------------------------------------------------------------------------- cdf5e6d8b7 2007-09-13 aku: # Access to the external fossil command. cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: # ----------------------------------------------------------------------------- cdf5e6d8b7 2007-09-13 aku: # Requirements cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: package require Tcl 8.4 cdf5e6d8b7 2007-09-13 aku: namespace eval ::vc::fossil::cmd {} cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: # ----------------------------------------------------------------------------- cdf5e6d8b7 2007-09-13 aku: # API cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: # vc::fossil::cmd::dova word... - Run a fossil command specified as var args cdf5e6d8b7 2007-09-13 aku: # vc::fossil::cmd::do words - Run a fossil command specified in a list. cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: # ----------------------------------------------------------------------------- cdf5e6d8b7 2007-09-13 aku: # API Implementation cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: proc ::vc::fossil::cmd::dova {args} {do $args} cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: proc ::vc::fossil::cmd::do {words} { cdf5e6d8b7 2007-09-13 aku: variable cmd cdf5e6d8b7 2007-09-13 aku: if {![llength $words]} { cdf5e6d8b7 2007-09-13 aku: return -code error "Empty fossil command" cdf5e6d8b7 2007-09-13 aku: } cdf5e6d8b7 2007-09-13 aku: # 8.5: exec $cmd {*}$words cdf5e6d8b7 2007-09-13 aku: return [eval [linsert $words 0 exec $cmd]] cdf5e6d8b7 2007-09-13 aku: } cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: # ----------------------------------------------------------------------------- cdf5e6d8b7 2007-09-13 aku: # Internals. cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: namespace eval ::vc::fossil::cmd { cdf5e6d8b7 2007-09-13 aku: # Locate external fossil application. cdf5e6d8b7 2007-09-13 aku: variable cmd [auto_execok fossil] cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: # Bail out if not found. cdf5e6d8b7 2007-09-13 aku: if {![llength $::vc::fossil::cmd::cmd]} { cdf5e6d8b7 2007-09-13 aku: return -code error "Fossil application not found." cdf5e6d8b7 2007-09-13 aku: } cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: namespace export do dova cdf5e6d8b7 2007-09-13 aku: } cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: # ----------------------------------------------------------------------------- cdf5e6d8b7 2007-09-13 aku: # Ready cdf5e6d8b7 2007-09-13 aku: cdf5e6d8b7 2007-09-13 aku: package provide vc::fossil::cmd 1.0 cdf5e6d8b7 2007-09-13 aku: return