From patchwork Wed Dec 17 02:28:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 962 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938609; bh=kzKv7Xdsx7m/14J7R77Yz5P+/Jywg1bQ8zzHJVbM+kw=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=gdaWnQlVW61kOTzDJgDqnw4p02PQuWgyMdtjBEq1WED183PF0w8jn8xXk3OiMm2kG YEL8Cm5Sc/E1VA9lAUMYbK2ftQ773bX+Swn+0VgPyVfmupM4sEQr5ojLNsCqv5aJ3I 0GNdff2chaXSHmJO2mn/+0Xdmc418+irhDt2rUueFo++8jAPX04RT3myPVaJq0C2tt iBa8NFOy1xfd0oe1o0Az/O1JWMLaTwaV3o8dzUOh44Y+FTZv1Cfh0SvDNUC3D9AhOO 3ZpXpQCV8MKCUuslwjymijQVixGSNL6FnXfcoc2ViwsA3exeUiWY7sdFdAt0ZzE/tG EorBmTo452BWg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id DB4506897B for ; Tue, 16 Dec 2025 19:30:09 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Mv2CCwSQq773 for ; Tue, 16 Dec 2025 19:30:09 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938609; bh=kzKv7Xdsx7m/14J7R77Yz5P+/Jywg1bQ8zzHJVbM+kw=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=gdaWnQlVW61kOTzDJgDqnw4p02PQuWgyMdtjBEq1WED183PF0w8jn8xXk3OiMm2kG YEL8Cm5Sc/E1VA9lAUMYbK2ftQ773bX+Swn+0VgPyVfmupM4sEQr5ojLNsCqv5aJ3I 0GNdff2chaXSHmJO2mn/+0Xdmc418+irhDt2rUueFo++8jAPX04RT3myPVaJq0C2tt iBa8NFOy1xfd0oe1o0Az/O1JWMLaTwaV3o8dzUOh44Y+FTZv1Cfh0SvDNUC3D9AhOO 3ZpXpQCV8MKCUuslwjymijQVixGSNL6FnXfcoc2ViwsA3exeUiWY7sdFdAt0ZzE/tG EorBmTo452BWg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id C99C768AEE for ; Tue, 16 Dec 2025 19:30:09 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938607; bh=Cue/WorZaH4eJ/2jJcmbJWqtAEdugjJm87gLpH81yL4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dRoJjPr7eB23HKJblmkxs62fRBsaP8yVHilx0po5WM0VRhnvAfMMVw6HhP0Luj4oG ry7ZhEFGGpUd4Ov4LEfkkDKjOM2z6GNddev8ZM2PVvbH6Sb/sl9nM84ARfK0BTLs7m c3DnzoCMJmwIT8MdHK8oOcJt6FdCwpa/IsMayT0514Ith1vZmtAgsIikZH2YPY5l4m MOhhxRO5f1gsZzVjbqKXykPyOEVuns1ygSnUm3iRdvGciCOhLgRDh7KImh0PXfoNjE q0A9TvvMZspmtXvKgvnmw42Hg1ByYSJr1N4gxbn290fQ1StRb5GfvOHMNdFyPdNvVe YFc2kfiZoynAQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 99ECB6897B; Tue, 16 Dec 2025 19:30:07 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id gYz03W1xasGr; Tue, 16 Dec 2025 19:30:07 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938603; bh=40bKEgZAk5JSPmQUpirluif4PvFLOkrBsoyOM/ATmDM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Qq+2cOC1ROdifs+0yPtiO/59HuAFzUkPwapA2ee2vX6F5gZLMz2IiWCtrXjo9xM7N nkGWt+apzs4F05WL09CYVSJppGAt3IHVL9csqDHvXa7SVatP28Csf0c36IKrpkf877 1CNUemolwCjQuZcuvyB/oI0brubKhU8tMTftEvyUzOtVOPhvg932cpTP6jmq5bcFnC Jdw60O9avXNus6kYv9LvJbAJUSagRG7qu89e40LfmZw6LcqIrGKEvQyD9JVh4ehq/7 JiV5yHMNeNpnHttcgKj3lFk4DtasRO5U1Y95//+kwPeZFdHHGD+oq1X0xMVdqoWlxm bKAr6bvHnTLvg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 2D2C46884F; Tue, 16 Dec 2025 19:30:03 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Tue, 16 Dec 2025 19:28:08 -0700 Message-ID: <20251217022823.392557-20-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251217022823.392557-1-sjg@u-boot.org> References: <20251217022823.392557-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: AZNENUIQELCR5ETEO42XVABQCSHOIRKS X-Message-ID-Hash: AZNENUIQELCR5ETEO42XVABQCSHOIRKS X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass , "Claude Opus 4 . 5" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 19/24] pickman: Stop poll on errors List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass Change poll to stop on errors rather than continuing, since errors like permission denied are not recoverable by retrying. Co-developed-by: Claude Opus 4.5 Signed-off-by: Simon Glass --- tools/pickman/agent.py | 3 +++ tools/pickman/control.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/pickman/agent.py b/tools/pickman/agent.py index e63248a1150..26f4ac3afd9 100644 --- a/tools/pickman/agent.py +++ b/tools/pickman/agent.py @@ -72,6 +72,8 @@ Steps to follow: - For regular commits: git cherry-pick -x - For merge commits (identified by "Merge" in subject): git cherry-pick -x -m 1 --allow-empty Cherry-pick one commit at a time to handle each appropriately. + IMPORTANT: Always include merge commits even if they result in empty commits. + The merge commit message is important for tracking history. 4. If there are conflicts: - Show the conflicting files - Try to resolve simple conflicts automatically @@ -91,6 +93,7 @@ Important: - Stop immediately if there's a conflict that cannot be auto-resolved - Do not force push or modify history - If cherry-pick fails, run 'git cherry-pick --abort' +- NEVER skip merge commits - always use --allow-empty to preserve them """ options = ClaudeAgentOptions( diff --git a/tools/pickman/control.py b/tools/pickman/control.py index 446697a0d5a..d9d326a0d21 100644 --- a/tools/pickman/control.py +++ b/tools/pickman/control.py @@ -907,7 +907,7 @@ def do_poll(args, dbs): try: ret = do_step(args, dbs) if ret != 0: - tout.warning(f'Step returned {ret}, continuing anyway...') + tout.warning(f'step returned {ret}') tout.info('') tout.info(f'Sleeping {interval} seconds...') time.sleep(interval)