@@ -18,16 +18,29 @@ "get" { if {[llength $argv] < 4} { print_help exit 1 } + + set existingexts [list] set dir [lindex $argv 0] set os [lindex $argv 1] set cpu [lindex $argv 2] set packages [lrange $argv 3 end] - set extsinfo [::teapotclient::download_extensions [file join $dir lib] $teapotservers $packages $os $cpu] + + set newpackages [list] + foreach package $packages { + if {[string index $package 0] == "!"} { + lappend existingexts [string range $package 1 end] + } else { + lappend newpackages $package + } + } + set packages $newpackages + + set extsinfo [::teapotclient::download_extensions [file join $dir lib] $teapotservers $packages $os $cpu $existingexts] set exts [list] puts "Fetched Extensions:" foreach {ext extinfo} $extsinfo { lappend exts $ext puts " $ext v[lindex $extinfo 0]"