This does not have anything to do with Pharo so no matter the version :) I keep in sync the VMMaker repositories using a jenkins job with this script (from squeaksource to github): #! /bin/bash set -e eval `ssh-agent` ssh-add $HOME/.ssh/id_rsa_estebanlm PACKAGES="'VMMaker.oscog'" REPOSITORY=cog # Clone git clone -b spur64 git@github.com:estebanlm/pharo-vm.git $REPOSITORY cd $REPOSITORY git config --local user.email "estebanlm@gmail.com" git config --local user.name "Esteban Lorenzano" cd - # Get Pharo (and prepare it) wget -O- get.pharo.org/50+vm | bash ./pharo Pharo.image get OSProcess # Execute sync script ./pharo Pharo.image eval " | origin destination | origin := (MCHttpRepository location: 'http://source.squeak.org/VMMaker') instVarNamed: 'cacheFileNames' put: true; yourself. destination := MCFileTreeRepository new directory: '$REPOSITORY/mc' asFileReference ensureCreateDirectory; instVarNamed: 'cacheFileNames' put: true; yourself. #($PACKAGES) do: [ :eachPackageName | | infoOrigin infoDest versionNumber newer | VTermOutputDriver stdout black: 'Updating ', eachPackageName; lf. infoOrigin := origin versionInfoFromVersionNamed: eachPackageName. infoDest := destination versionInfoFromVersionNamed: eachPackageName. versionNumber := infoDest versionNumber. newer := (({infoOrigin}, (infoOrigin allAncestors)) select: [ :each | each versionNumber > versionNumber or: [ each versionNumber = versionNumber and: [ each id ~= infoDest id ] ] ]) sorted: [ :a :b | a timeStamp < b timeStamp ]. newer do: [ :each | | summary | [ VTermOutputDriver stdout green: ('New version: ', each name); lf. VTermOutputDriver stdout << 'Store ' << each name << ' in ' << destination description; cr. destination storeVersion: (origin versionFromFileNamed: (each name, '.mcz')). VTermOutputDriver stdout << 'Commit ' << each name; cr. summary := each summary copyReplaceTokens: String cr with: String crlf. OSProcess waitForCommand: '(cd $REPOSITORY; git add -A ; git commit -m \"', summary, '\")' ] on: Error do: [ :e | VTermOutputDriver stdout yellow: ('Warning: ', e messageText); lf ] ] ]. VTermOutputDriver stdout << 'OK'; cr. " cd $REPOSITORY git push --force origin spur64 git branch --verbose cd - git stuff is to add my credentials, thatâs because I use one of our structure servers. One of your own shouldnât need that part. basically, script does: 1) clone mirrored repo 2) run a script comparing PACKAGES and versions, generate a new export+commit for each new version. 3) does a push with all new commits cheers, Esteban
On 30 Aug 2015, at 21:23, Hernán Morales Durand <hernan.morales@gmail.com> wrote:
Is it possible right now in Pharo 4 or 5 on any platform?
Cheers,
Hernán