When do commits happen in the FreeBSD ports tree?

I asked Claude for this:
Look at the FreeBSD ports tree over the past two years of commits. Look for time periods where there is a least a 15 minute gap without commits. Count them, and let me know the times of day they occur. Use UTC.
Later, I asked for a 10 year period. Both results appear below. Why? I was looking for periods best suited to FreshPorts maintenance. The reply was:

How often does the FreeBSD ports tree go quiet? I looked at every commit to the main branch of the ports tree over the past two years and counted the periods of at least 15 minutes with no commits at all. All times are UTC.

The short answer

Between 2024-09-26 12:07 UTC and 2026-09-26 12:07 UTC there were 18,294 gaps of 15 minutes or more between commits. They occur at every hour of the day, but they are longest and most frequent between roughly 22:00 and 06:00 UTC. The quietest hours are 02:00–04:00 UTC.

  • 62,352 distinct commit timestamps in the two-year window
  • About 90% of all clock time fell inside one of these 15-minute-plus gaps
  • Median gap length: about 37 minutes
  • About 4,800 gaps lasted an hour or more; about 400 lasted three hours or more

Method

  • Source: the main branch of the ports repository (quarterly branches are not included).
  • Timestamps: committer date, converted to UTC and sorted. Git does not record push time, so committer date is the closest available measure of when a change landed.
  • A gap is the time between two consecutive commits, counted when it is 15 minutes or longer.
  • Cross-check: using author date instead gives 19,664 gaps, with the same overall pattern.

Time of day

For each UTC hour, the table shows the share of that hour spent inside a gap of 15 minutes or more, how many gaps started in that hour, and how many gaps of one hour or more started in that hour.

Hour (UTC)Time spent in a gapGaps starting1h+ gaps starting
00:00–00:5993.2%653264
01:00–01:5995.2%588247
02:00–02:5995.8%525233
03:00–03:5995.8%527247
04:00–04:5996.0%526215
05:00–05:5994.6%605218
06:00–06:5992.5%697181
07:00–07:5988.3%800158
08:00–08:5985.6%897173
09:00–09:5986.8%869199
10:00–10:5989.1%808205
11:00–11:5989.0%818172
12:00–12:5987.7%826174
13:00–13:5986.1%861183
14:00–14:5985.9%877174
15:00–15:5985.9%885170
16:00–16:5986.3%882155
17:00–17:5985.6%856182
18:00–18:5986.2%858174
19:00–19:5985.1%872169
20:00–20:5984.9%873187
21:00–21:5988.7%828240
22:00–22:5992.4%747277
23:00–23:5993.8%616237

The “gaps starting” column can look backwards at first: more gaps start during the busy daytime hours (08:00–20:00 UTC). That is because overnight quiet stretches run long and count as one big gap, while daytime activity keeps breaking the quiet into many short ones. The better signals of where the quiet is are the percentage and the 1h+ columns. Long gaps usually start between 21:00 and 01:00 UTC.

Even at the busiest hours, commits arrive in bursts, so there is usually a 15-minute lull somewhere in the hour.

How long the gaps are

Gap lengthNumber of gaps
15–59 minutes13,460
1–2 hours3,556
2–3 hours885
3–4 hours243
4–5 hours83
5–6 hours46
6–7 hours13
7–8 hours4
9–10 hours3
12 hours or more1

The longest gaps

The longest gap by far was about 67 hours, from 2026-07-21 23:28 to 2026-07-24 18:38 UTC. The commit history does not say why. Every other gap in the top ten is an overnight UTC stretch of 7–9 hours, several of them around the end-of-year holidays.

EDIT: See https://people.freebsd.org/~kevans/core/ports-freeze-20260722.txt which explains the ports tree freeze.

Last commit before (UTC)Next commit (UTC)Hours
2026-07-21 23:282026-07-24 18:3867.2
2025-12-30 20:392025-12-31 06:019.4
2024-12-29 22:502024-12-30 07:559.1
2026-01-20 22:232026-01-21 07:259.0
2024-10-06 21:112024-10-07 05:047.9
2024-11-16 20:202024-11-17 03:277.1
2025-08-18 21:022025-08-19 04:077.1
2024-10-20 00:212024-10-20 07:227.0
2024-12-07 21:422024-12-08 04:376.9
2025-07-20 21:512025-07-21 04:456.9

The 10 year period

How often does the FreeBSD ports tree go quiet? I looked at every commit to the ports tree over the past ten years and counted the periods of at least 15 minutes with no commits at all. All times are UTC.

The short answer

Between 2016-09-26 12:07 UTC and 2026-09-26 12:07 UTC there were 90,929 gaps of 15 minutes or more between commits, about 25 a day. They occur at every hour of the day, but they are longest and most frequent between roughly 22:00 and 06:00 UTC. The quietest hours are 02:00–04:00 UTC.

  • 299,327 distinct commit timestamps in the ten-year window
  • About 88% of all clock time fell inside one of these 15-minute-plus gaps
  • Median gap length: about 36 minutes
  • 23,458 gaps lasted an hour or more; 2,167 lasted three hours or more
  • The pattern is remarkably steady: every full year has between about 8,500 and 9,600 gaps

Method

  • Source: the main branch of the ports repository (quarterly branches are not included). The ports tree moved from Subversion to Git in April 2021; the earlier history comes from the Subversion-to-Git conversion.
  • Timestamps: committer date, converted to UTC and sorted. For the Subversion era this is the time the commit reached the server. Git does not record push time, so for the Git era committer date is the closest available measure of when a change landed.
  • A gap is the time between two consecutive commits, counted when it is 15 minutes or longer.
  • Cross-check: using author date instead gives 94,659 gaps, with the same overall pattern.

Time of day

For each UTC hour, the table shows the share of that hour spent inside a gap of 15 minutes or more, how many gaps started in that hour, and how many gaps of one hour or more started in that hour.

Hour (UTC)Time spent in a gapGaps starting1h+ gaps starting
00:00–00:5992.1%3,4241,399
01:00–01:5994.7%2,6881,192
02:00–02:5995.1%2,5161,176
03:00–03:5995.6%2,4501,218
04:00–04:5995.7%2,4551,078
05:00–05:5994.3%2,8081,013
06:00–06:5991.5%3,328937
07:00–07:5988.8%3,794873
08:00–08:5985.6%4,000614
09:00–09:5984.6%4,9191,099
10:00–10:5988.2%4,125963
11:00–11:5987.6%4,059914
12:00–12:5986.2%4,107837
13:00–13:5984.9%4,292813
14:00–14:5983.9%4,361812
15:00–15:5984.2%4,462796
16:00–16:5983.0%4,399763
17:00–17:5982.8%4,438785
18:00–18:5983.4%4,424767
19:00–19:5983.1%4,389831
20:00–20:5983.5%4,417877
21:00–21:5987.0%4,2871,207
22:00–22:5990.6%3,6561,354
23:00–23:5993.0%3,1311,140

The “gaps starting” column can look backwards at first: more gaps start during the busy daytime hours (08:00–20:00 UTC). That is because overnight quiet stretches run long and count as one big gap, while daytime activity keeps breaking the quiet into many short ones. The better signals of where the quiet is are the percentage and the 1h+ columns. Long gaps usually start between 21:00 and 03:00 UTC.

Even at the busiest hours, commits arrive in bursts, so there is usually a 15-minute lull somewhere in the hour.

Year by year

Gaps are counted in the year they started. 2016 and 2026 are partial years.

YearCommitsGaps (15 min+)Gaps (1h+)Time spent in a gap
2016 (from Sep 26)7,0882,41358086%
201726,1618,5442,32889%
201829,3589,4552,13486%
201931,2059,1152,29686%
202036,3279,6142,17185%
202131,0799,2702,21788%
202224,6819,0052,47990%
202326,7168,6752,55791%
202431,9578,7232,55791%
202529,3369,0352,50890%
2026 (to Sep 26)25,4197,0801,63188%

Commit volume has moved around from year to year, but the number of quiet periods has barely changed.

How long the gaps are

Gap lengthNumber of gaps
15–59 minutes67,471
1–2 hours17,114
2–3 hours4,177
3–4 hours1,308
4–5 hours508
5–6 hours218
6–7 hours75
7–8 hours32
8–9 hours17
9–10 hours6
10–11 hours1
24 hours or more2

The longest gaps

Two gaps stand out. The longest, about 147 hours (just over six days), from 2021-03-31 03:12 to 2021-04-06 06:33 UTC, was the freeze for the move from Subversion to Git; the first commit afterwards is “Mark the repository has been converted to Git”. The second, about 67 hours, from 2026-07-21 23:28 to 2026-07-24 18:38 UTC, has no explanation in the commit history. Every other gap in the top ten is an overnight UTC stretch of 8–11 hours.

Last commit before (UTC)Next commit (UTC)Hours
2021-03-31 03:122021-04-06 06:33147.4
2026-07-21 23:282026-07-24 18:3867.2
2017-09-01 22:032017-09-02 08:3710.6
2023-09-16 19:032023-09-17 04:349.5
2023-04-18 22:032023-04-19 07:329.5
2025-12-30 20:392025-12-31 06:019.4
2024-12-29 22:502024-12-30 07:559.1
2026-01-20 22:232026-01-21 07:259.0
2023-04-20 22:022023-04-21 07:039.0
2018-04-08 21:352018-04-09 06:268.8
Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive

Leave a Comment

Scroll to Top