Hi,
How can I save (from time to time) project packages hosted on GitHub to SmalltakHub? The reason is that I do not want to force people to install GIT when they want to install a project. So I am thinking to regularly deploy it on SmalltalkHub and update ConfigurationOf. Thanks in advance, Juraj |
Hi,
- first, there is a high change people already have git installed in their machines. - but anyway, people does not have to install git to load a project, metacello will download a zip and install from there, no clone and no anything needed. - and you can also prepare ConfigurationOf that points to tags/commits/branchs from git, so you can do your versions “Yuriy style”, pointing to them… finally, if you want a mirror you can do a script more or less like this one: git clone blah dir curl get.pharo.org | bash ./pharo Pharo.image eval “ | packages gofer | packages := #('FFI-Pools' 'SharedPool-Speech' 'Balloon-Engine-Pools' 'Sound' 'Alien-Core' 'VMMaker-oscog' 'VMMaker.oscog' 'Cog' 'Qwaq-VMProfiling-Plugins' 'VMConstruction-Plugins-AioPlugin' 'VMConstruction-Plugins-OSProcessPlugin.oscog' 'Freetype-Plugin' 'SqueakSSL-Plugin' 'ObjectiveC-Plugin' 'Applescript-Core' 'CMakeVMMaker' 'PharoVMMaker'). gofer := Gofer it url: 'filetree://dir/mc'; yourself. packages do: [ :packageName | gofer package: packageName ]. gofer fetch. gofer := Gofer it url: 'http://smalltalkhub.com/mc/Pharo/PharoVM/main' username: 'PharoMirrorJob' password: ’shhh'; yourself. packages do: [ :packageName | gofer package: packageName ]. gofer push. “ and you can run it in a cron :) cheers, Esteban > On 27 Jul 2016, at 23:26, Juraj Kubelka <[hidden email]> wrote: > > Hi, > > How can I save (from time to time) project packages hosted on GitHub to SmalltakHub? > > The reason is that I do not want to force people to install GIT when they want to install a project. > So I am thinking to regularly deploy it on SmalltalkHub and update ConfigurationOf. > > Thanks in advance, > Juraj |
Le 27/07/2016 à 23:42, Esteban Lorenzano a écrit :
> Hi, > > - first, there is a high change people already have git installed in their machines. Hum. Do they need to have a ssh key registered on github to use ssh-based urls? GitFileTree (and Iceberg?) tend to focus on ssh urls, even if gitfiletree has support for https urls (but they are a bit harder to write). > - but anyway, people does not have to install git to load a project, metacello will download a zip and install from there, no clone and no anything needed. The equivalence is, given a gitfiletree url of: gitfiletree://github.com/User/Project:Branch/OptionalDirectory the github:// url for Metacello will be: github://User/Project:Branch/OptionalDirectory and github:// can target tags or commits as well as branches. Thierry > - and you can also prepare ConfigurationOf that points to tags/commits/branchs from git, so you can do your versions “Yuriy style”, pointing to them… > finally, if you want a mirror you can do a script more or less like this one: > > git clone blah dir > curl get.pharo.org | bash > ./pharo Pharo.image eval “ > | packages gofer | > > packages := #('FFI-Pools' 'SharedPool-Speech' 'Balloon-Engine-Pools' 'Sound' 'Alien-Core' 'VMMaker-oscog' 'VMMaker.oscog' 'Cog' 'Qwaq-VMProfiling-Plugins' 'VMConstruction-Plugins-AioPlugin' 'VMConstruction-Plugins-OSProcessPlugin.oscog' 'Freetype-Plugin' 'SqueakSSL-Plugin' 'ObjectiveC-Plugin' 'Applescript-Core' 'CMakeVMMaker' 'PharoVMMaker'). > > gofer := Gofer it > url: 'filetree://dir/mc'; > yourself. > packages do: [ :packageName | gofer package: packageName ]. > gofer fetch. > gofer := Gofer it > url: 'http://smalltalkhub.com/mc/Pharo/PharoVM/main' username: 'PharoMirrorJob' password: ’shhh'; > yourself. > packages do: [ :packageName | gofer package: packageName ]. > gofer push. > “ > > and you can run it in a cron :) > > cheers, > Esteban > >> On 27 Jul 2016, at 23:26, Juraj Kubelka <[hidden email]> wrote: >> >> Hi, >> >> How can I save (from time to time) project packages hosted on GitHub to SmalltakHub? >> >> The reason is that I do not want to force people to install GIT when they want to install a project. >> So I am thinking to regularly deploy it on SmalltalkHub and update ConfigurationOf. >> >> Thanks in advance, >> Juraj > > > |
> On 28 Jul 2016, at 00:15, Thierry Goubier <[hidden email]> wrote: > > Le 27/07/2016 à 23:42, Esteban Lorenzano a écrit : >> Hi, >> >> - first, there is a high change people already have git installed in their machines. > > Hum. Do they need to have a ssh key registered on github to use ssh-based urls? GitFileTree (and Iceberg?) tend to focus on ssh urls, even if gitfiletree has support for https urls (but they are a bit harder to write). install a project is to download a zip and then process it. People tend to confuse the difference between “user” and “contributor” in Pharo, just because there is no difference between the framework-artifact and the sources, and what Juraj is proposing is to have a mirror to default when people want to *install* a project (which mean use it, not contribute it)… for me this is extra work, mirrors finish not being well maintained, people does not know where to contribute when they want, etc. of course is another story if you want to contribute, but if you want to, then I suppose is licit to ask for ssh (if you want to use git ssh) or just https if not. Esteban > >> - but anyway, people does not have to install git to load a project, metacello will download a zip and install from there, no clone and no anything needed. > > The equivalence is, given a gitfiletree url of: > > gitfiletree://github.com/User/Project:Branch/OptionalDirectory > > the github:// url for Metacello will be: > > github://User/Project:Branch/OptionalDirectory > > and github:// can target tags or commits as well as branches. > > Thierry > >> - and you can also prepare ConfigurationOf that points to tags/commits/branchs from git, so you can do your versions “Yuriy style”, pointing to them… > > > >> finally, if you want a mirror you can do a script more or less like this one: >> >> git clone blah dir >> curl get.pharo.org | bash >> ./pharo Pharo.image eval “ >> | packages gofer | >> >> packages := #('FFI-Pools' 'SharedPool-Speech' 'Balloon-Engine-Pools' 'Sound' 'Alien-Core' 'VMMaker-oscog' 'VMMaker.oscog' 'Cog' 'Qwaq-VMProfiling-Plugins' 'VMConstruction-Plugins-AioPlugin' 'VMConstruction-Plugins-OSProcessPlugin.oscog' 'Freetype-Plugin' 'SqueakSSL-Plugin' 'ObjectiveC-Plugin' 'Applescript-Core' 'CMakeVMMaker' 'PharoVMMaker'). >> >> gofer := Gofer it >> url: 'filetree://dir/mc'; >> yourself. >> packages do: [ :packageName | gofer package: packageName ]. >> gofer fetch. >> gofer := Gofer it >> url: 'http://smalltalkhub.com/mc/Pharo/PharoVM/main' username: 'PharoMirrorJob' password: ’shhh'; >> yourself. >> packages do: [ :packageName | gofer package: packageName ]. >> gofer push. >> “ >> >> and you can run it in a cron :) >> >> cheers, >> Esteban >> >>> On 27 Jul 2016, at 23:26, Juraj Kubelka <[hidden email]> wrote: >>> >>> Hi, >>> >>> How can I save (from time to time) project packages hosted on GitHub to SmalltakHub? >>> >>> The reason is that I do not want to force people to install GIT when they want to install a project. >>> So I am thinking to regularly deploy it on SmalltalkHub and update ConfigurationOf. >>> >>> Thanks in advance, >>> Juraj >> >> >> > > |
> >>> On 27 Jul 2016, at 23:26, Juraj Kubelka <[hidden email]> wrote:
> >>> > >>> Hi, > >>> > >>> How can I save (from time to time) project packages hosted on GitHub to SmalltakHub? > >>> > >>> The reason is that I do not want to force people to install GIT when they want to install a project. > >>> So I am thinking to regularly deploy it on SmalltalkHub and update ConfigurationOf. > >>> > >>> Thanks in advance, > >>> Juraj You should be able (in theory) just swap the endpoints in this script to copy from GitHub to SmalltalkHub. https://www.peteruhnak.com/blog/2016/03/02/moving-project-from-smalltalkhub-to-github/#Copying-repository Peter |
Free forum by Nabble | Edit this page |