File Annotation
Not logged in
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