Great thats all I needed thanks

�������� 6 ������ 2014 1:00 ��.��., �� �������������� "Dale Henrichs" <dale.henrichs@gemtalksystems.com> ������������:
Personally I think that the CofngurationOf is best used as a tag. You *can* specify any one of branch/SHA/tag in a ConfigurationOf ...��

So you can just reference the name of the branch instead of the SHA and you'll load the latest commit on that branch ...

Dale




On Tue, Aug 5, 2014 at 2:08 PM, kilon alios <kilon.alios@gmail.com> wrote:
looks very interesting but I see you pull from a specific git commit , what if I wanted to pull from latest commit ?



On Tue, Aug 5, 2014 at 7:59 PM, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
Hey Uko,

I guess I wasn't clear;(��

What is not needed when using git are the version methods with the painstaking records of the mcz version associated with each file ...��

A baseline is created by subclassing BaselineOf and adding a single baseline: method that contains the package/project dependencies. This BaselineOfXXX is saved directly in the repository along with the packages.

You can poke around in my External project on GitHub[1] to see more detail.

Dale



On Tue, Aug 5, 2014 at 8:31 AM, Yuriy Tymchuk <yuriy.tymchuk@me.com> wrote:
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;
�� �� �� �� 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';
�� �� 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



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