essage-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yO1XXd/4GE83ENUmxZw/8ZQXsO8sdymyigrZakVny88=; b=Vb8MdvTHh6R95LJY0xz91+6kG/8EvsOqqoI1GlGzhVvfK6rltH23sVOnJ/V6ru42TT/Wxs eZTMAb7AyhhKAfwaFwDHrGDvqcHDRAucXVWuG8wCEY+Ct7gaZuyjQnvVDL9y56DgSq+4iX wnB30F1zpu07s0IERNPqwrtku8EwHeVDK5QXumuN8/sN83hL17apafOOfMKDhpDukunxrt Yg6X6G4zcFPFOjvFg38QdeW4HveGDBuTRaurV4UDkag9fxKmw/pTaehbaJa1GqgyCmnQrM NqsTDVS/m7KNOI31PaKeG3CGkmaLh+8nfdfCGg2hBU0DdcEuwZatdhnU8eui4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786383630; a=rsa-sha256; cv=none; b=q8Uo+t9Y6C/6jCpJMgV+kZOj2354BHFYDoUT0hkTBMalSMiyO5bxFnipQ8mPOGrv1vFUDQ GBP9CYo4px4jUp2MleJyzJfqYSN4k39tqs9xe78bSVBx3GlxfQeWNuJldb8H3y5l8PkRXH rc4ZO75a3ssQcz7Y1OUG7/SNFueLPjvAx9rx3ecBJxk6KD9NM9nk/NVPmWwOsqcC3ZVrYW wTApdvOi3NN3y4WUSpJ85/4CxanTbcUvQnfp3XNkHfh94SdU5cfT86cZSYkLkxwbXsAkPk tGnNNB4WVdJwp6T6c7yxBN41SPDQJDaLKG+cQPGTGSbtzQWofbB7YeAYKl9Dbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786383630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yO1XXd/4GE83ENUmxZw/8ZQXsO8sdymyigrZakVny88=; b=hHH3terGRoDr4DnbbEtlHAtzds5Ih2qVYOliPxvnp/d0mSrvlHMvJAW3FBqszveScIIF07 sSzP3aNbKp1aCKHzjwTGU2N+rJx8GbtsR3bzR9NmT1O6YwNjWeguhnQnxRf4sLcGJMCY1p t1ximQZG7gByCs+DPActqonro3zv2ywMd8R6xvWun5r15XmTRsXkxTRXmGWbS9/POJH3CD eygt+0Ddr3I96nUaSBx6un7apH7iH6NrLnqd4kD5qdEjN8ydNhE6fyVxFfz2KOgqLKg/1Z Io8v01GmIimWncesHbmIL1pg9qdQvJIz9YhlbQ5x5hfvOSPLknYGGDxNPeuzCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJhqL1PPfz3sy for ; Mon, 10 Aug 2026 17:40:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e737 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 10 Aug 2026 17:40:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: ba47678b30a5 - main - git-arc: Use full names in reviewed-by lines List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba47678b30a50fd44234f8ed7fbef68a56479b37 Auto-Submitted: auto-generated Date: Mon, 10 Aug 2026 17:40:30 +0000 Message-Id: <6a7a0d0e.3e737.7216d9da@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ba47678b30a50fd44234f8ed7fbef68a56479b37 commit ba47678b30a50fd44234f8ed7fbef68a56479b37 Author: Mark Johnston AuthorDate: 2026-08-10 14:49:11 +0000 Commit: Mark Johnston CommitDate: 2026-08-10 17:31:21 +0000 git-arc: Use full names in reviewed-by lines Phabricator user names are not useful identifiers outside of phabricator, don't use them if we can avoid it. --- tools/tools/git/git-arc.sh | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh index 72605d49d40f..d8551630f7e2 100755 --- a/tools/tools/git/git-arc.sh +++ b/tools/tools/git/git-arc.sh @@ -289,7 +289,7 @@ create_one_review() # Get a list of reviewers who accepted the specified diff. diff2reviewers() { - local diff reviewid userids + local diff reviewid userids tmp author username realname diff=$1 reviewid=$(diff2phid "$diff") @@ -301,11 +301,27 @@ diff2reviewers() arc_call_conduit -- differential.revision.search | jq '.response.data[0].attachments.reviewers.reviewers[] | select(.status == "accepted").reviewerPHID') if [ -n "$userids" ]; then + tmp=$(xmktemp) echo '{ "constraints": {"phids": ['"$(echo $userids | tr '[:blank:]' ',')"']} }' | arc_call_conduit -- user.search | - jq -r '.response.data[].fields.username' + jq -r '.response.data[] | [.fields.username, .fields.realName] | @tsv' > "$tmp" + + while IFS=$(printf '\t') read -r username realname; do + if is_freebsd_committer "$username"; then + # FreeBSD uses bare login names in Reviewed-by lines. + echo "$username" + else + # Resolve mangled phabricator usernames. + author=$(find_author "$username" "$realname" "" "") + if [ "$author" = "ABORT" ]; then + warn "Skipping reviewer ${username}: uncertain author identity" + else + echo "$author" + fi + fi + done < "$tmp" fi } @@ -448,6 +464,20 @@ gitarc__list() done } +# Return true if the Phabricator username looks like a FreeBSD committer login: +# no '.' in the name and not a guest account. +is_freebsd_committer() +{ + case "$1" in + *.* | guest-*) + return 1 + ;; + *) + return 0 + ;; + esac +} + # Try to guess our way to a good author name. The DWIM is strong in this # function, but these heuristics seem to generally produce the right results, in # the sample of src commits I checked out. @@ -468,14 +498,10 @@ find_author() # these people having their local config pointing at something other than # freebsd.org (which isn't surprising for ports committers getting src # commits reviewed). - case "${addr}" in - *.*) ;; # external user - guest-*) ;; # Fake email address, not a FreeBSD user - *) + if is_freebsd_committer "${addr}"; then echo "${name} <${addr}@FreeBSD.org>" return - ;; - esac + fi # Choice 2: author_addr and author_name were set in the bundle, so use # that. We may need to filter some known bogus ones, should they crop up.