On 10/22/2015 05:31 AM, Ben Coman wrote:
On Thu, Oct 22, 2015 at 1:30 AM, Dale Henrichs
<dale.henri...@gemtalksystems.com> wrote:
On 10/21/2015 05:55 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 2:49 AM, Dale Henrichs
<dale.henri...@gemtalksystems.com> wrote:
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) ...
Intuitively I would have thought that #'pharo4.0.x'
would correspond to repository: 'github://username/Project:v4.0.?/'
I seem to be missing something.
I guess it's not intuitive to me, because I'm not sure what point you are
making:)
My point was that these two
4.0.x
4.0.?
seem to correspond better than these two
4.0.x
4.?
but maybe I looked at this the wrong way.
So v4.? would also match pharo4.1.0 ?
Ah yes, you do have a point there, because v4.? does match 4.1.0.
Dale