I’m so very happy about recent changes to the website. It’s been a great day. I was volunteering at a flu shot clinic. A new coffee shop has opened up, and I was there before the clinic. After the clinic, it was walking the dog, then some serious changes to the the PostgreSQL queries which pull back the commits for the front page. The result: more complete information and coverage of all commits, not just main, but the quarterly branches as well. Then another dog walk, and finished off changes to the commits-by-date pages.
I got that done, and committed, then it was time for the Thursday pizza get-togther with local friends.
Back home, squash the commits into one (but not really), and boom, more code to push to the other websites.
Right now, I’m watching Atlanta at Philadelphia in game 4 of the baseball playoffs. Layla (the dog mentioned earlier) is snoring beside me on the couch, and I’m typing this up as quickly as I can.
The goal of this work was to show the commits to non-ports (Mk, net/Makefile, etc) because those can be relevant. It also happened that it was easy to show commits to branches as well. Many people follow the quarterly branch, so seeing those commits on the home page is helpful to them.
The side effect
While designing the new database query, I was looking at some tables which I’d lost track of. Despite creating them, I’d forgotten about them and had to relearn. Shockingly, the main query went from 5 seconds to 4 ms.
Read that again. That’s 1,368 times faster. That’s amazing!
However, since most pages are cached, you’ll only notice it if you’re the first person to load the page after a new commit.
Links to yesterday’s commits
There has long been a link to yesterday’s commits at the bottom of the home page. Now it’s also at the top of the home page. The goal is to make people more aware of being able to view all the commits for a given date.
See more about what a commit touches
This one is strange to me. I thought this was always a feature, but either it wasn’t, or a regression occurred. Case, in point: if MOVED, or UPDATING is touched by a commit, FreshPorts will show you. In this example, I show you the old way:
Now, you see the changes:
Commits which don’t touch a port
FreshPorts monitors all commits to the FreeBSD repositories: src, doc, ports. For the ports tree, FreshPorts concentrates commits into ports. A single commit might touch two or more ports. That commit is listed under both ports. That commit can also be viewed on its own, and you can see all the ports it affects.
There are files within the ports tree which are not associated with a port. Here are a few examples:
These are non-ports within the ports tree. They are also important to see. Case in point, look at the commit which touches files in the Mk directory.
How many commits do you want on the home page?
This is a feature which uses data which has been available, but never used. You can decide how many commits you want to see on the home page.
If you are logged in. Look at this here:
Commits on the quarterly branch
The main page can also show commits to the quarterly branch. This update includes a link to view those commits.
Right there, at the top of the page (and the bottom of the page) is a link to the quarterly branch. Click it, and you’ll see something like this: only branches on that quarterly branch, whatever it happens to be at the moment.
FreshPorts interprets branch=quarterly as the most recent quarterly branch, whatever that happens to be. Right now, (on October 12, 2023) that’s 2023Q4. So if you look at https://www.freshports.org/?branch=quarterly what you see depends on the current day, with respect to the year quarter. You can always view a specific quarter by spelling it out, e.g. 2023Q2.
This section is more for my own benefit: I want to change references to the HEAD branch to refer to main instead. This change properly won’t be visible to you, but it will allow you to view changes only the main branch. For example, you can say append ?branch=quarterly to most pages and see the expected results. I’d like you to be able to do that for main too, should you want to.
Hope you find these changes helpful.