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 <[email protected]> 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 < > [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 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>> >>> >> >
