[racket] catalog pkg versioning: am I doing it right?

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed Sep 10 17:26:54 EDT 2014

On Wed, Sep 10, 2014 at 5:03 PM, John Clements <johnbclements at gmail.com> wrote:
> It's possible to specify "version exceptions" in the new package catalog
> system (i.e., on pkg.racket-lang.org). I want to use one version (old
> version) for pre-6.0, and another one for >= 6.0. IIUC, the right way to do
> this is to specify a mapping for 'default to my pre-6 branch, and then
> explicit mappings for 6.0 and 6.1 to the new version.
>
> My questions:
>
> 1) how are version numbers matched? I just tried an experiment, and it looks
> like my version exceptions are confined to exact matches; e.g., when I have
> a version exception for 6.1, and I do a raco pkg catalog-show for 6.1.0.8, I
> get the default one.
> 2) This requires me to add an exception for every new version, right?

This sounds right. The versioning system was principally designed for
dealing with keeping a small number of old Racket versions back on an
old version of the package. Since there are a small number of versions
since the package system existed, this seemed cheap.

> Finally, I'm still kind of baffled by the pkg.racket-lang.org interface; it
> seems that when I make changes to a package and then close and re-open the
> floating window, my changes are still there, but that actually hitting
> browser reload often causes the changes to be lost. Am I just waiting for a
> change to propagate through a back-end database, here?

When you make changes to a package's metadata, those changes are saved
instantly (as soon as you press enter or de-focus the text input) and
both your browser and the back-end server (modulo network errors.)
Every time the back-end server receives a change, it updates the S3
cache. This updating process takes about X seconds and then S3 takes
about Y seconds. If you reload your browser, you are throwing away
your local copy with updated changes and getting the S3 cache. If you
reload in under X+Y seconds (or your browser doesn't make the request
at all), then you won't see any changes.

Jay

> Many thanks,
>
> John
>
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>



-- 
Jay McCarthy
http://jeapostrophe.github.io

           "Wherefore, be not weary in well-doing,
      for ye are laying the foundation of a great work.
And out of small things proceedeth that which is great."
                          - D&C 64:33

Posted on the users mailing list.