Diff

Differences From Artifact [b79ca22208]:

To Artifact [c44684b043]:


    16     16   
    17     17   switch -- $cmd {
    18     18   	"get" {
    19     19   		if {[llength $argv] < 4} {
    20     20   			print_help
    21     21   			exit 1
    22     22   		}
           23  +
           24  +		set existingexts [list]
    23     25   
    24     26   		set dir [lindex $argv 0]
    25     27   		set os [lindex $argv 1]
    26     28   		set cpu [lindex $argv 2]
    27     29   		set packages [lrange $argv 3 end]
    28         -		set extsinfo [::teapotclient::download_extensions [file join $dir lib] $teapotservers $packages $os $cpu]
           30  +
           31  +		set newpackages [list]
           32  +		foreach package $packages {
           33  +			if {[string index $package 0] == "!"} {
           34  +				lappend existingexts [string range $package 1 end]
           35  +			} else {
           36  +				lappend newpackages $package
           37  +			}
           38  +		}
           39  +		set packages $newpackages
           40  +
           41  +		set extsinfo [::teapotclient::download_extensions [file join $dir lib] $teapotservers $packages $os $cpu $existingexts]
    29     42   		set exts [list]
    30     43   		puts "Fetched Extensions:"
    31     44   		foreach {ext extinfo} $extsinfo {
    32     45   			lappend exts $ext
    33     46   			puts "  $ext v[lindex $extinfo 0]"
    34     47   		}
    35     48