@@ -405,10 +405,11 @@ if {$pathlen > 4} { set retval(_type) files set retval(file) [join [lrange $path 4 end] "/"] } else { + set retval(_type) files set retval(file) "" } } } } @@ -694,30 +695,10 @@ set localpath [_localpath $pathinfo(package) $pathinfo(hostname) $pathinfo(file)] return $localpath } - proc _delete_files_except_whiteout {path} { - foreach file [glob -nocomplain -directory $path {{.,}*}] { - if {[string match "*/.." $file] || [string match "*/." $file]} { - continue - } - - if {[file isdirectory $file]} { - _delete_files_except_whiteout $file - } - - if {[string match "*.APPFS.WHITEOUT" $file]} { - continue - } - - catch { - file delete -- $file - } - } - } - proc unlinkpath {path} { array set pathattrs [exists $path] if {![info exists pathattrs(packaged)]} { return -code error "invalid type" @@ -729,11 +710,10 @@ set isdirectory 0 if {[info exists pathattrs(is_localfile)]} { if {[file isdirectory $localpath]} { set isdirectory 1 set whiteout 1 - _delete_files_except_whiteout $localpath } else { file delete -force -- $localpath } } elseif {[info exists pathattrs(is_remotefile)]} { if {$pathattrs(type) == "directory"} {