From nobody Wed Jul 2 13:43:31 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bXLhM52K1z60S3Q; Wed, 02 Jul 2025 13:43:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bXLhM3gsHz3mwK; Wed, 02 Jul 2025 13:43:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751463811; 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=PkpqIFUZrl+ZJACNrx8xrOuHgHEugpiecjqg6KCZcMU=; b=l/6WXJI6A6/wNooisdhqomfwp8bf7Ssc4v3guTSvd0vbzLXjfrqVlozI0HiX0Svig2Q++6 TWM18f0R1Su2f83CFMsAWXhRMnOH4rgd0H+gMzxOb+1F8SpLYalbY/PO6f0hIMhfoXmCfH JGhXevHvn9bU9XJQp+qD4HnNOSCDD2/+kQWVX5TiIDEHe+9sWThLiKQDOn1oFLed5w0sHq UgicZmMYwZ2T0cMS5/IWgIPT9qNR1UxTJfJ/q6Di8Zb2l41LBMUmMxW2Br26WX7tSYoCQM x7fDM1EOMQ5YJldVCZE/uTjC32f1fjqMjojVFLM1wVXaLThVdh6FxV68eqg1gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1751463811; 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=PkpqIFUZrl+ZJACNrx8xrOuHgHEugpiecjqg6KCZcMU=; b=leFDIFgA8r0Q/lBv9SS+hDXlj4FUU60OKQ4U5Zm/mRkB0D3Uc+HJW71CmHyE9jHf9rNCP/ 3KlV02yozT4RAVGvC1xj56EnJKNC8nEPWhdkExYRwtCngC2JEwlQptgTPC2TmzouR8ip+Q 4hERWhBZNir++kpTGN1rqaCQBC816cIBTRynVlgb9b+97D2D0G9KWpl6tI2xbug7GK1+B1 CUyHLWq4W4SN1cZwCEEBnqFpF+94emZZ2yGrPojfy+t/dpset1k7/1+jUKtwRXelehZkX9 usT30Zsw2eo+7aStSD4iwvXli1uA7E2xnMHuBjOkimG7lJRt5cyvHUDVQDwlZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1751463811; a=rsa-sha256; cv=none; b=cmYY7Z0YH03cal6SMiLHoHoHB4ysmYoZNrigCy+nBWK/RYcPwlN0cANs51Imhh94j8YnsM 487OXBfxYLWXZuHBpOOfo9bUGcPe2JHFX5db6+tZwSrzQPQUSp/9ove47Dt7UpLAAaAODM FiCXdA1V6IJJF37NBRhPymKSgAzEZ7g2cl7sVcEwffyzDID/D29TgTPdxIffhgv3yFus60 hJ+S4DPTW+07vd+v1maaKcPbMhFGY2xEYM5v+FpKUbpPVOGYPi08xpqGvKsub/4+MWhmIq 00O+RCHNMMl/qELt8AjNHN6ZWJY/HlTDvUc7AF+sX3LV9saUqa8Fg6pgypB7mQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bXLhM379jz6rY; Wed, 02 Jul 2025 13:43:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 562DhVwg025521; Wed, 2 Jul 2025 13:43:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 562DhV7m025518; Wed, 2 Jul 2025 13:43:31 GMT (envelope-from git) Date: Wed, 2 Jul 2025 13:43:31 GMT Message-Id: <202507021343.562DhV7m025518@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 3d4a61a10bb7 - main - git-arc: Try harder to get the author name and email out of phab List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: 3d4a61a10bb7a921cee7a06696034e36fb221b95 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3d4a61a10bb7a921cee7a06696034e36fb221b95 commit 3d4a61a10bb7a921cee7a06696034e36fb221b95 Author: Mark Johnston AuthorDate: 2025-07-02 13:42:42 +0000 Commit: Mark Johnston CommitDate: 2025-07-02 13:42:42 +0000 git-arc: Try harder to get the author name and email out of phab When patching, we use the querydiffs endpoint to get a name and email for the revision's author. It's possible that this info isn't recorded, in which case the results after post-processing are just "null". However, if the diff has multiple revisions, the endpoint returns an entry for each one, some of which may contain author info, others not. So, the deleted code which tries to filter out "null" isn't sufficient, since the value in question might be something like "\nnull". Try to make this filtering a bit smarter to avoid generating incorrect author info. Reviewed by: jlduran Reported by: des MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D51065 --- tools/tools/git/git-arc.sh | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh index b49721159799..d953a30cb90d 100644 --- a/tools/tools/git/git-arc.sh +++ b/tools/tools/git/git-arc.sh @@ -582,17 +582,10 @@ patch_commit() echo '{"revisionIDs": [ '"${diff#D}"' ]}' | \ arc_call_conduit -- differential.querydiffs | jq -r '.response | flatten | .[]' > "$diff_data" - author_addr=$(jq -r ".authorEmail?" "$diff_data" | sort -u) - author_name=$(jq -r ".authorName?" "$diff_data" | sort -u) - - # JSON will return "null" when a field is not populated. - # Turn this string into an empty one. - if [ "$author_addr" = "null" ]; then - author_addr="" - fi - if [ "$author_name" = "null" ]; then - author_name="" - fi + # If the differential revision has multiple revisions, just take the first + # non-null value we get. + author_addr=$(jq -r ".authorEmail?" "$diff_data" | grep -v '^null$' | head -n 1) + author_name=$(jq -r ".authorName?" "$diff_data" | grep -v '^null$' | head -n 1) author=$(find_author "$user_addr" "$user_name" "$author_addr" "$author_name")