Here's the documentation for the Metacello github:// repository description[1]. ...
In recent versions of Metacello I have made it possible for you to use pattern matching in the <version identifier> to provide for symbolic-version-like facility for github references.
Instead of stableForPharo4 you would associate a semantic version with the code that is "stableForPharo4" for example `4.0.0` and use the tag `v4.0.0` to mark the commit that is "stableForPharo4".
Similarly you'd use the tag `v5.0.0` to mark the commit that is "stableForPharo5".
Then you'd use the following in your baseline: method (not in a symbolicVersion method).
�� spec for: #'pharo4.0.x'
�� �� do: [spec
���������� baseline: 'Project'
���� ������ with: [ spec repository: 'github://username/Project:v4.?/']].
�� spec for: #'pharo5.0.x'
�� �� do: [spec
�� ���� �� baseline: 'Project'
���� �� �� with: [ spec repository: 'github://username/Project:v5.?/']].
If you end up with a new commit that patches a Pharo4 problem, you'd tag that commit as `v4.0.1` and so on .... The above `v4.?` pattern will match `v4.0.1` and you'll pick up that tag the next time you refresh your build (i.e., do a `get` on the Project baseline ... which causes a new download from Github) ...
HTH,
Dale
[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md#github
[2] https://github.com/dalehenrich/metacello-work/issues/277#issuecomment-58970696
On 10/19/2015 08:05 PM, Gabriel Cotelli wrote:
I was wondering if something like this can work:
Given a ConfigurationOfProject (a subclass of ConfigurationOf) ��defining:
stable: spec <symbolicVersion: #stable> spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo4/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo5/']].
where��stableForPharo4 and stableForPharo5 are tags in the git repo (and assuming the BaselineOfProject is defined in this commits). Is this supposed to work :Metacello new�� configuration: 'Project';�� repository: 'github://username/Project:master';�� version: #stable;�� load. ??I've tried using a non-symbolic version and it works but I can't make it work for #stable. I'd like to use this configuration for the Configuration Browser/Catalog Browser.Any help is appreciated.