From nobody Wed Aug 17 23:19:49 2022 X-Original-To: dev-commits-src-main@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 4M7P9x61Dnz4ZYNl; Wed, 17 Aug 2022 23:19:49 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4M7P9x5VVsz3Xsm; Wed, 17 Aug 2022 23:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660778389; 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=YuTnwkC2EsAHXk5Fl/oDT6QWIUSHBvY5lMlnCFNw0nc=; b=oVXyPETTFzhl/FNsCwhSbvFEs2hLcPIjab20JsXRHinVkLHruYNhgqBuTupyrjJqwQWdf2 gJ5mFRqVXqHZ4WhrsN4NFOkDOjTkz3ZgqnaUff6xe4dqRTQmZBxYjxNL8YSHXxk2luL/QB xNnzzNVqUN0jPyuxK/kNIMBvNJT3gbrssctBPoOgE2Z2TdnFdkrZ6jbGuRxQtzn5Gr7G8q xMeTvtvU/4P2I6mq4yRT9xitpdrjuzG7SZe2IrVQxEIoU2APhg5L5Qd11TeYTkzm4thZl/ vYTiWjUdbGYt1TqAJveLXi/9hNu60Lop/TTpwUSTKry0k5T23lcj4YVKGlDTDg== 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 4M7P9x4NVjz178m; Wed, 17 Aug 2022 23:19:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 27HNJnqR084561; Wed, 17 Aug 2022 23:19:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 27HNJn2r084560; Wed, 17 Aug 2022 23:19:49 GMT (envelope-from git) Date: Wed, 17 Aug 2022 23:19:49 GMT Message-Id: <202208172319.27HNJn2r084560@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 548548649f9e - main - git-arc: Use --head to avoid changing the checkout. 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: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 548548649f9e31d961db5d4956cbf53dff525054 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660778389; 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=YuTnwkC2EsAHXk5Fl/oDT6QWIUSHBvY5lMlnCFNw0nc=; b=fXjdeRq9mPqdMILyd5Sp/vfAal3IZ/kuoLR2Z+5a5o7NN2BI1uEthCTW7EVtkvel2xtMK8 aVGlmcOWYdDVjLMIbdTuL1FzDjRmWh9pSC6uOOVex2YkduGjH6CO0RTA2Dx2vuLLT6GnbE S4fjNGpVJgZJVu86vgOwQhuGeMCBVeNL/NencSuW5ubgSiI0vrDo0z+nSvw4SLk2Qla7h1 hV88ToT3WsI29+xsnYgL/Ryk+vX//Iz7t++pjXbEoLQJln4BpJNeEWhpmzKu+vZiKDk5hT B2lOJAzB3zO9BHwfaTV2JkTllsLz52shHTFLJ1QDheJWQxqbnwVlGZYaDEvlew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1660778389; a=rsa-sha256; cv=none; b=QYEU7+OT9BWp3QUR2sGp+5y5LG8Fgl938ZfG+LKUCcLfxEKkJh6MvftGVGm2vsm1+hbGcN WrqlLkcHsh4WSk2/eVXfQP81KMZwnD/inbyBnWE4beW8lTNmGFJwCMWsFBJUXLoc29ALkG gNI1znEtBzLB3heazn32ldTBfZYpENy6suhkOWZsQyKemNOMAp88Lo1y0VpZhn0hKRKvQu OrLjtEvQgr6im/ZQ8PfgQNZVc05qYjmaMz0DUJqbgTlITAx79nYw7HuvJy8G6woHckaQvm VeU/Cmeo87GTEaWXs9ttLch90Sa76Y1ZGJdYQlQW63orXds2EbRTDdFxJ6hLdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=548548649f9e31d961db5d4956cbf53dff525054 commit 548548649f9e31d961db5d4956cbf53dff525054 Author: John Baldwin AuthorDate: 2022-08-17 23:19:31 +0000 Commit: John Baldwin CommitDate: 2022-08-17 23:19:31 +0000 git-arc: Use --head to avoid changing the checkout. Rather than using 'git checkout' to move to the commit in question for create and update, use the '--head' argument to 'arc diff'. This avoids the need to alter the current checkout and the related bits to save/restore HEAD in the current checkout. Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D36248 --- tools/tools/git/git-arc.sh | 34 ++++------------------------------ 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh index b33affe459b0..66372969de04 100644 --- a/tools/tools/git/git-arc.sh +++ b/tools/tools/git/git-arc.sh @@ -245,8 +245,6 @@ create_one_review() return 1 fi - git checkout -q "$commit" - msg=$(mktemp) git show -s --format='%B' "$commit" > "$msg" printf "\nTest Plan:\n" >> "$msg" @@ -256,7 +254,8 @@ create_one_review() printf "%s\n" "${subscribers}" >> "$msg" yes | env EDITOR=true \ - arc diff --message-file "$msg" --never-apply-patches --create --allow-untracked $BROWSE HEAD~ + arc diff --message-file "$msg" --never-apply-patches --create \ + --allow-untracked $BROWSE --head "$commit" "${commit}~" [ $? -eq 0 ] || err "could not create Phabricator diff" if [ -n "$parent" ]; then @@ -333,24 +332,6 @@ show_and_prompt() prompt } -save_head() -{ - local orig - - if ! orig=$(git symbolic-ref --short -q HEAD); then - orig=$(git show -s --pretty=%H HEAD) - fi - SAVED_HEAD=$orig -} - -restore_head() -{ - if [ -n "$SAVED_HEAD" ]; then - git checkout -q "$SAVED_HEAD" - SAVED_HEAD= - fi -} - build_commit_list() { local chash _commits commits @@ -410,7 +391,6 @@ gitarc__create() doprompt= fi - save_head for commit in ${commits}; do if create_one_review "$commit" "$reviewers" "$subscribers" "$prev" \ "$doprompt"; then @@ -419,7 +399,6 @@ gitarc__create() prev="" fi done - restore_head } gitarc__list() @@ -524,7 +503,6 @@ gitarc__update() local commit commits diff commits=$(build_commit_list "$@") - save_head for commit in ${commits}; do diff=$(commit2diff "$commit") @@ -532,14 +510,12 @@ gitarc__update() break fi - git checkout -q "$commit" - # The linter is stupid and applies patches to the working copy. # This would be tolerable if it didn't try to correct "misspelled" variable # names. - arc diff --allow-untracked --never-apply-patches --update "$diff" HEAD~ + arc diff --allow-untracked --never-apply-patches --update "$diff" \ + --head "$commit" "${commit}~" done - restore_head } set -e @@ -613,6 +589,4 @@ if [ "$(git config --bool --get arc.browse 2>/dev/null || echo false)" != "false BROWSE=--browse fi -trap restore_head EXIT INT - gitarc__"${verb}" "$@"