from the Gofer chapter of course
| go | go := Gofer new. go squeaksource: 'ht'. (go allResolved select: [:each | 'Hash*' match: each packageName]) do: [:pack| self crLog: pack packageName. go package: pack packageName; fetch] | go repo | repo := MCSmalltalkhubRepository owner: 'Moose' project: 'HashTable' user: 'StephaneDucasse' password: 'xxxxx'. go := Gofer new. go repository: repo. (((FileSystem disk workingDirectory / 'package-cache') allFiles select: [:each | 'Hash*.mcz' match: each basename]) groupedBy: [:each | (each base copyUpToLast: $-) ]) keys do: [:name | go package: name; push] Here the script handle multiple packages automatically for example. This is not the case for HashTable but really useful in other cases. S.