[racket] Planet2 questions

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Thu Apr 4 11:09:14 EDT 2013

On Thu, Apr 4, 2013 at 8:58 AM, Laurent <laurent.orseau at gmail.com> wrote:
> Some questions about Planet 2, using github, but not really used to it.

I think these questions are about the Racket package system, since I
don't know what "Planet 2" is, so I'll answer them. :)

> * Currently, the main files of my projects are at the root of the git repo.
> IIUC, Planet2 requires them to be in a subdirectory of the git repo, so as
> to be considered as a collection by Racket, is that correct?


> Then where will the README and LICENSE and some other files go once the
> package is installed, since those files are (should be) usually at the root
> of the github repo?

The root of the package directory. There will be no Racket way of
getting to them, because they aren't in a collection.

> * I'm a bit confused about how I should manage my package versions with
> Planet2.
> It seems that Planet2 leaves this somewhat to the user, but still seems to
> suggest that some options are better than others, without being entirely
> specific.

That's intentional

> For example, would the following be considered good?
> - The master branch is used for development only.
> - At each major version, I create a new git branch, and upload a new package
> with an increased number at the end of the package name.
> - Bug fixes and small improvements can be done on a major branch, generating
> a new hash and users will automatically receive the update.

This is a fine technique to use

> This implies that users of a major branch will receive minor updates, but
> may not know that a new major version has been released, right?

Yes, that is the case.

> But I see that many packages on Planet2 are using the master as the package
> source. Then how do the developers manage major versions and development?

I believe that most of these developers do not intend to ever break
compatibility. But if they do, they can tag the last "Version 1"
commit, change the PNR to point to the tag, then create a new "Version
2" package that uses "master". The PNR source record can be changed
whenever you want and it is not cached, etc by users, so when you
change it, they will get the update just like usual.


> Laurent
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users

Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University

"The glory of God is Intelligence" - D&C 93

Posted on the users mailing list.