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 <dale.henrichs@gemtalksystems.com> 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;
    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';
    get.
  Metacello new
    baseline: 'External';
    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';
    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 <kilon.alios@gmail.com> 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 <yuriy.tymchuk@me.com> 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 <kilon.alios@gmail.com> 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 <yuriy.tymchuk@me.com> 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 <kilon.alios@gmail.com> wrote:

oh boy thats looks nasty bug, hope its not permanent. 


On Mon, Aug 4, 2014 at 11:44 AM, Yuriy Tymchuk <yuriy.tymchuk@me.com> 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