Hi Dale,

I won’t agree that you don’t need configuration. For me the main purpose of 
configuration is defining dependencies. And as far as I know we don’t have any 
other alternative.

Uko

On 05 Aug 2014, at 17:21, Dale Henrichs <[email protected]> 
wrote:

> Kilon,
> 
> When working with git/github, you really don't need a configuration anymore 
> ... the configuration functions more like tag than anything else.
> 
> For day to day operations with git/github you only need a baseline[1].  The 
> baseline just describes the package relationships and of course git manages 
> the versions of the packages:
> 
> baseline: spec
>   <baseline>
>   spec for: #common do: [
>     spec configuration: 'Seaside30' with: [
>       spec
>         version: #stable;
>         repository: 'http://www.squeaksource.com/MetacelloRepository' ].
>     spec
>       package: 'Sample-Core'with: [
>         spec requires: 'Seaside30' ];
>       package: 'Sample-Tests' with: [
>         spec requires: 'Sample-Core' ]].
> 
> but there is no longer any need to track the version numbers of the 
> individual mcz file.
> 
> To load from a repository using a baseline you do the following:
> 
>   Metacello new
>     baseline: 'External';
>     repository: 'github://dalehenrich/external:master/repository';
>     load.
> 
> This is very similar to using #bleedingEdge,but a lot safer, since presumably 
> you are using travis-ci to run tests before anything gets merged into your 
> master branch and of course all of the packages are versioned together.
> 
> To refresh the version from the master branch you do the following:
> 
>   Metacello new
>     baseline: 'External';
>     repository: 'github://dalehenrich/external:master/repository';
>     get.
>   Metacello new
>     baseline: 'External';
>     repository: 'github://dalehenrich/external:master/repository';
>     load.
> 
> This is admittedly a bit awkward, but there has been a couple year lag 
> between the time I did the basic implementation in support of git/github and 
> the time that folks are finally becoming interested in actually using it:) So 
> I have focussed on functionality instead or prettiness ... I will eventually 
> get to the point where you can do:)
> 
> Metacello new
>     baseline: 'External';
>     repository: 'github://dalehenrich/external:master/repository';
>     get;
>     load.
> 
> If you use a configuration, then the version method for the configuration 
> would look like the following:
> 
> version0900: spec
>     <version: '0.9.0'>
>     spec
>         for: #'common'
>         do: [ 
>             spec blessing: #'development'.
>             spec description: 'initial work: first commit on custom branch'.
>             spec author: 'dkh'.
>             spec timestamp: '5/4/2012 14:16'.
>             spec
>                 baseline: 'External'
>                 with: [ spec repository: 
> 'github://dalehenrich/external:1ac58502ade7814e1590f71d615cca434b1a4fd5/repository'
>  ] ]
> 
> So version 0.9.0 is simply a tag for a particular commit ... but within the 
> Metacello eco-system this approach can be useful.
> 
> Dale
> 
> [1] 
> https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md#create-baseline
> 
> 
> On Mon, Aug 4, 2014 at 2:48 AM, kilon alios <[email protected]> wrote:
> Well lately I have been questioning the need for configurations . I am 
> considering doing only the second port of your blog post. Ask github for the 
> latest release of my project , download it, unzip it and point pharo to the 
> unziped directory. Then pharo can periodocally keep probing github to see if 
> there is a new release and prompt the user for an update. All that with a 
> single click from the user or even automagically. But I have to figure out 
> how to do that with Pharo first :)  
> 
> 
> On Mon, Aug 4, 2014 at 12:23 PM, Yuriy Tymchuk <[email protected]> wrote:
> You don’t have to. Just keep your configuration (here is a guide how to do it 
> http://sleepycoders.blogspot.ch/2014/04/how-to-distribute-your-github-pharo.html)
>  on some monticello repo, and assemble your image on CI. Yes, if someone 
> want’s to modify your project they have to use git, but as far as I know, 
> Pharo is slowly moving git way anyway :)
> 
> Cheers.
> Uko
> 
> On 04 Aug 2014, at 11:17, kilon alios <[email protected]> wrote:
> 
>> yeah I will also move my latest project to github. I am already more active 
>> with github than I am in SThub anyway. The one thing that stopped me  so far 
>> is that I don't want to force people to install git to get the latest 
>> version of my project. SThub is great for this. 
>> 
>> 
>> On Mon, Aug 4, 2014 at 12:03 PM, Yuriy Tymchuk <[email protected]> wrote:
>> Well, thankfully I keep all my latest projects on github, and I have 
>> configurations of them in the image. But CI is not working and anyway it’s a 
>> strange situation. Is there any other service where I can keep my 
>> configurations? Because that’s the only thing I version with monticello are 
>> configurations as I want to use gofer to load my projects. And here 
>> reliability is much more important then other features.
>> 
>> Uko
>> 
>> 
>> On 04 Aug 2014, at 10:59, kilon alios <[email protected]> wrote:
>> 
>>> oh boy thats looks nasty bug, hope its not permanent. 
>>> 
>>> 
>>> On Mon, Aug 4, 2014 at 11:44 AM, Yuriy Tymchuk <[email protected]> wrote:
>>> Hi,
>>> 
>>> I was on vacation last weak, have I missed anything? Because my SmaltalkHub 
>>> user does not have any projects http://smalltalkhub.com/#!/~YuriyTymchuk 
>>> (and I had a bunch of them).
>>> 
>>> Uko
>>> 
>> 
>> 
> 
> 
> 

Reply via email to