mraible commented on code in PR #229: URL: https://github.com/apache/roller/pull/229#discussion_r4409056685
########## skills/roller-board-report/scripts/quarter-activity.sh: ########## @@ -0,0 +1,84 @@ +#!/usr/bin/env bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# Summarize Roller activity for a board report window. +# +# quarter-activity.sh <since> [<until>] dates as YYYY-MM-DD +# +# Run from a Roller checkout after `git fetch origin --tags`. Prints commits +# per author on each line of development, authors whose first commit falls in +# the window, tags created in the window, and merged pull requests (with gh). +# Read-only: it does not fetch, write or contact anything except GitHub via gh. + +set -uo pipefail + +since="${1:?usage: quarter-activity.sh <since> [<until>]}" +until="${2:-$(date +%Y-%m-%d)}" +branches=(origin/master origin/roller-6.1.x) +repo="apache/roller" + +git rev-parse --git-dir >/dev/null 2>&1 || { echo "not a git checkout" >&2; exit 1; } + +refs=() +for b in "${branches[@]}"; do + git rev-parse --verify -q "$b" >/dev/null && refs+=("$b") +done +[ ${#refs[@]} -gt 0 ] || { echo "none of ${branches[*]} exist; fetch origin first" >&2; exit 1; } + +echo "Window: $since .. $until" +echo + +for b in "${refs[@]}"; do + n=$(git rev-list --count --no-merges --since="$since" --until="$until" "$b") + echo "== Commits on $b (no merges): $n" + git shortlog -sn --no-merges --since="$since" --until="$until" "$b" | sed 's/^/ /' + echo +done + +echo "== Commits on both lines, counted once" +git shortlog -sne --no-merges --since="$since" --until="$until" "${refs[@]}" | sed 's/^/ /' Review Comment: With `-e`, shortlog splits a person by email address. Since July this lists you twice (noreply and apache.org) here, but once in the per-branch lists, so counting these rows would overstate contributors. `-sn` here, or a `.mailmap`, would keep one row per person. ########## skills/roller-board-report/scripts/quarter-activity.sh: ########## @@ -0,0 +1,84 @@ +#!/usr/bin/env bash +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# Summarize Roller activity for a board report window. +# +# quarter-activity.sh <since> [<until>] dates as YYYY-MM-DD +# +# Run from a Roller checkout after `git fetch origin --tags`. Prints commits +# per author on each line of development, authors whose first commit falls in +# the window, tags created in the window, and merged pull requests (with gh). +# Read-only: it does not fetch, write or contact anything except GitHub via gh. + +set -uo pipefail + +since="${1:?usage: quarter-activity.sh <since> [<until>]}" +until="${2:-$(date +%Y-%m-%d)}" +branches=(origin/master origin/roller-6.1.x) +repo="apache/roller" + +git rev-parse --git-dir >/dev/null 2>&1 || { echo "not a git checkout" >&2; exit 1; } + +refs=() +for b in "${branches[@]}"; do + git rev-parse --verify -q "$b" >/dev/null && refs+=("$b") +done +[ ${#refs[@]} -gt 0 ] || { echo "none of ${branches[*]} exist; fetch origin first" >&2; exit 1; } + +echo "Window: $since .. $until" +echo + +for b in "${refs[@]}"; do + n=$(git rev-list --count --no-merges --since="$since" --until="$until" "$b") Review Comment: git reads a bare `YYYY-MM-DD` in `--since`/`--until` as that date at the current time of day, so this drops commits made earlier on the first day of the window. The tag and PR sections count whole days. Normalizing once near the top, e.g. `git_since="$since 00:00:00"` and `git_until="$until 23:59:59"`, and using those in the git calls would make the sections agree. ########## skills/roller-board-report/references/asf-reporting.md: ########## @@ -0,0 +1,82 @@ +<!-- +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> + +# ASF board reporting + +Verify against the authoritative sources each quarter; this is a summary. + +## Sources + +- Reporting guide: <https://www.apache.org/foundation/board/reporting> +- Report wizard: <https://reporter.apache.org/wizard/?roller> +- Board agenda tool: `https://agenda.apache.org/meetings/<YYYY-MM-DD>#roller` +- Past Roller reports: <https://whimsy.apache.org/board/minutes/Roller.html> +- Board calendar: <https://svn.apache.org/repos/private/committers/board/calendar.txt> + +## Schedule + +Roller reports in February, May, August and November. The board meets on a +Wednesday in the third week of the month. Reports are due one week before the Review Comment: The [board calendar](https://www.apache.org/foundation/board/calendar) says the board meets on the third Wednesday of each month, which isn't always the Wednesday of the third week (Aug 19 vs. Aug 12, 2026). Line 69's claim that directors can mark text private after submission also isn't in the [reporting guide](https://www.apache.org/foundation/board/reporting), which only mentions obvious corrections. I'd drop that sentence or link a source. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
