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 <
[email protected]> 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
>
> [1] https://github.com/dalehenrich/external/tree/master/repository
>
>
> On Tue, Aug 5, 2014 at 8:31 AM, Yuriy Tymchuk <[email protected]>
> 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 <[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