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 <mailto: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:)

In general terms I'm not very intuitive, so this is my personality flaw:)

Dale

Reply via email to