How can I save a project on GitHub to SmalltalkHub?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

How can I save a project on GitHub to SmalltalkHub?

Juraj Kubelka
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
Reply | Threaded
Open this post in threaded view
|

Re: How can I save a project on GitHub to SmalltalkHub?

EstebanLM
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


Reply | Threaded
Open this post in threaded view
|

Re: How can I save a project on GitHub to SmalltalkHub?

Thierry Goubier
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
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: How can I save a project on GitHub to SmalltalkHub?

EstebanLM

> 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
>>
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: How can I save a project on GitHub to SmalltalkHub?

Peter Uhnak
> >>> 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