I'm using Racket v8.16 on macOS Sequoia. I'm getting back to hacking scribble after 9 months. I had installed a local git clone of scribble in v8.14. I updated to v8.16 by simply installing the distribution. Of course this overlaid my local version of scribble. I'd prefer not to create a new git clone of scribble and then merge my changes into it. I would prefer to just keep using my existing Git repo. I've already merged the latest commits on the master branch into it.
Yeah, it was a typo. I fixed it, it was v8.14. I ended up cloning it, then push the old repo to GitHub, then adding the GitHub repo as a remote, and pulling my code from there.
Next time I update Racket I'll try out the raco pkg migrate command, instead of the little script I use to install my preferred set of packages.
Thanks. However, my hope was that I could avoid cloning a rather large git repo, since I already had it on my filesystem. But it's good to know I could have just jammed it in place, instead of pushing and pulling my changes through a shared git repo.
There is way to do this (as done by various GHA workflows in the Racket repos -- DrRacket, Typed Racket, and others all do this), and there are even lower-level Raco commands to do this. But I don't know enough Raco to adapt the commands and fill in the details.
Thanks. However, my hope was that I could avoid cloning a rather large git repo, since I already had it on my filesystem. But it's good to know I could have just jammed it in place, instead of pushing and pulling my changes through a shared git repo.
Maybe I misunderstood that you're talking about --clone on raco, but git clone <local filesystem path> ought to be very fast, especially with --shared if you want.
I don’t know. I’m mostly unfamiliar with the package system. I’m just following the instructions on how to contribute to a Racket distribution package:
I gather there are some complications because Scribble is part of the main distribution packages.
I just looked at the docs for raco pkg update, it looks like it should just work as you say. Will that also update dependencies?
Short answer: no, dependencies will not be updated, only the main library.
More detail: I ran a few experiments, and (unsurprisingly) it turns out to be important to specify the directory containing the package. That is, the one with the package-level info.rkt file.
In your case, the scribble repo contains a bunch of libraries, you probably want to update all of them to point to the ones that are in your repo.
In other words, if your clone lived in your home directory and was named scribble, you'd probably want to run something like
(I just threw all of the packages in there, I have no ideas which ones you're working on.)
FWIW, I just tested this, cloning the repo in /tmp/ and then updating scribble and scribble-lib (scribble-lib has most of the good stuff, I'm assuming). Raco pkg show will then show where each package is pointing to: