I've just used the following scripts to copy many of Lukas' repositories to
SmalltalkHub.

| source goSource destination goDestination files destinationFiles |

source := MCHttpRepository location: '
http://source.lukas-renggli.ch/pier2addons'.
destination := MCSmalltalkhubRepository owner: 'Pier' project:
'Pier2Addons' user: 'DamienCassou' password: 'XXXXXX'.

goSource := Gofer new repository: source.
goDestination := Gofer new repository: destination.

files := source allVersionNames.

(goSource allResolved select: [ :resolved | files anySatisfy: [ :each |
resolved name = each ] ]) do: [ :each | goSource package: each packageName
].

goSource fetch. "downloads all mcz on your computer"

destinationFiles := destination allVersionNames. "checks what files are
already at destination"
files reject: [ :file | destinationFiles includes: file ] thenDo: [ :file |
goDestination version: file ]. "selects only the mcz that are not yet at
destination"

goDestination push. "sends everything to SmalltalkHub"

self assert: destination allVersionNames sorted = files sorted. "checks we
have exactly the same files at source and destination"



-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without losing
enthusiasm."
Winston Churchill

Reply via email to