Alex, that looks like an interesting workflow. Maybe worth a blog post? ;) On Thu, Apr 30, 2020 at 12:11 AM Alex Harsanyi <[email protected]> wrote:
> > You could both send packages to the package catalog and instruct your > users to use a different package source if they wish to use old versions. > I don't see these two options in conflict with each other. > > As an application writer, I am on the other side of this problem, by > depending on other packages. Having limited time to work on my project I > want to upgrade package dependencies at my own pace. The solution I found > is to use git submodules and add each package as a submodule to my > application. I construct a catalog of these packages, at an exact git > commit, and simply run a raco pkg install, knowing that the exact version > that I want will be there. From time to time, I update these submodules > and allow some time for fixing any problems that might result from these > updates. This has worked reasonably well so far, and I can reliably > reconstruct older versions of the application knowing that all dependencies > will be correct for that old version. > > For my part, for any packages that my application depends on, their > authors can make any breaking changes they want, as this will not > immediately break my application. At a later date I can review these > changes, update my application and move to the new version. > > The only downside is that installed packages are at "user scope" rather > than "application scope" so once installed from the git submodules, that > package becomes available to all applications on my computer. So far this > has not been a real issue, although I had to uninstall, switch catalogs and > re-install a few times. > > I personally regard pkgs.racket-lang.org as the source for the latest > package versions, for users which just started using the package. Users who > need precise versioning, can always setup their own package catalogs (i > discovered that it is a really simple process) > > Alex. > > > On Thursday, April 30, 2020 at 12:47:25 AM UTC+8, Sage Gerard wrote: >> >> April 9th in the #general Slack channel taught me that there was no clean >> way to >> release a breaking change in a package. I'm open to working on version >> pinning >> support in raco pkg provided that a maintainer can walk me through some >> code. >> >> In the meantime, as much as I appreciate the efforts made in the current >> system, >> I'm considering stopping my contributions to the package catalog until >> further notice. >> I'm open to submitting packages if I am confident in their longevity, but >> I don't want >> to end up in the position I've been in for the last few weeks when >> planning a release. >> That position being an inability to release an edition that is not in >> some way "aware" >> of a prior edition. In my view, changing the package/collection name is an >> example of that problem, not a solution to it. >> >> I'm considering asking my users to specify different package sources in >> their info.rkt >> files when dealing with my work. Before I commit to that decision, I >> wanted to tap into >> those of you who have already been here. How have you handled breaking >> changes >> for your projects? How have you communicated with your users to make sure >> they >> were adequately prepared? Am I being too black-and-white about this? >> >> *~slg* >> >> >> -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/b3b54ccf-b4f1-425e-802a-110d5ac26591%40googlegroups.com > <https://groups.google.com/d/msgid/racket-users/b3b54ccf-b4f1-425e-802a-110d5ac26591%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CABNTSaE5MN8qDaKd7VF1qL%3DbRhktAw017jyVzUe4O8sFkK%3D0QQ%40mail.gmail.com.

