From patchwork Thu Feb 12 21:16:13 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 119 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=1770930998; bh=Ahrr9xzI17u5moFKSwHZtUTQQeGBnrniG/u7cfv+Izw=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=ThNNKwsLsCnPAiXYMdfuGCF2upEOtF8psZ6BcgyY0r/6shCz2yMon6sUjGyXoeXXV 73S+BnYNirQYkRlSjPghNY2qNFBUdooOhcR6BKzbqou46/6/dWNibGKuIAC7+CHOhc EJ916Ppg0s+FnjudTQrxItlCasPwsmS1ytl5B+xpom/JZ0Hg2tjpCgdM43ePI7bCB2 uY+z9e4S2QYecm+4LnYbvqI4cLtp/ArESQyEJsG25D9veAE+9/LgMaGkh/54AU8ZQg eJmiO0Oj/wuYUmV5vbHqbNPpqC6IouJWml5nbLmYoya2w57tQeYlxbYTOgqAS0D6UB 4ot6f6Px5uZXw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id B2FC269AE7 for ; Thu, 12 Feb 2026 14:16:38 -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 ca_YIGliSqAk for ; Thu, 12 Feb 2026 14:16:38 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1770930998; bh=Ahrr9xzI17u5moFKSwHZtUTQQeGBnrniG/u7cfv+Izw=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=ThNNKwsLsCnPAiXYMdfuGCF2upEOtF8psZ6BcgyY0r/6shCz2yMon6sUjGyXoeXXV 73S+BnYNirQYkRlSjPghNY2qNFBUdooOhcR6BKzbqou46/6/dWNibGKuIAC7+CHOhc EJ916Ppg0s+FnjudTQrxItlCasPwsmS1ytl5B+xpom/JZ0Hg2tjpCgdM43ePI7bCB2 uY+z9e4S2QYecm+4LnYbvqI4cLtp/ArESQyEJsG25D9veAE+9/LgMaGkh/54AU8ZQg eJmiO0Oj/wuYUmV5vbHqbNPpqC6IouJWml5nbLmYoya2w57tQeYlxbYTOgqAS0D6UB 4ot6f6Px5uZXw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id A22D769AD8 for ; Thu, 12 Feb 2026 14:16:38 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1770930997; bh=fYQIsO0gsvlv0SxhbDoh6kNQcCvauW7euTg8AsPBpa4=; h=From:To:Cc:Subject:Date:From; b=CE4PlPJ3D2Nwm6z3aPwjjySX9cyhZWH1DsrNsr4OvYwGzI8VuNAsaTMDYS6ZHIEAW SS/mGTbgzpHedOhZ5uxJH2l4a0Y5/XvAKyfTd0RZ1PkrGA60fO55A/9gdA3xWDwz8o lsnDTn4IMTGKSb0snzBZbRflexT7wvVuAqqv7vio+uLJOMZpB854KJHXMATHeMHKBD ZllUpw2i36d0rkTphAgkjVJGVMvbGr0NE8QehTv9I9UvnLbznyhN6OWXwldy4cG4iS l2BQpf8OULMb3C0ggEiOL/7PiIt6zvsKTKg4P5aA2Eplu+AO5K80xPUiE6mWsnf8U/ daRJIRhc/YXUA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6B53669ABB; Thu, 12 Feb 2026 14:16:37 -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 6bj2_mIn3dTh; Thu, 12 Feb 2026 14:16:37 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1770930993; bh=LdJjm55B8/5kM7cdv4mHYnN7Az0iHi6Pg55jtDiRi74=; h=From:To:Cc:Subject:Date:From; b=XoZH5aa0QxBzHGOnVTSBDqlfCxNtp+5XMN/i9LQtmOVH5WmG0omAeycIztMMYOWj2 +YKQGzj5hi+qHPCFQ9j0caaGDV5ZVMkPJtVtHwcPpGOpaADMTHHgBZ+f8yIhaaqbaK prjU0nBT0t47yQtopmwXxYvtAAWXwpgVTZyrEgFKEXejQsrta3E+u8a8G7UiYGNi21 wg+COAXANrDW9f8md4ogai+7ywZnOEr6GxGNWZrHIjuU4+V1rpMQEPwZW4InmMVwkq pVs8C5/9VXULhc7TDRH0h8gil1CaOf3MmkNqbMbeDZKwRMRZ4502piyhW9FzxWddYc XNUwqQALixmRA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id F16EF6994D; Thu, 12 Feb 2026 14:16:32 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Thu, 12 Feb 2026 14:16:13 -0700 Message-ID: <20260212211626.167191-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: MRC3WYPQ2GRZKUA7RFJLANJIUQEJDPOF X-Message-ID-Hash: MRC3WYPQ2GRZKUA7RFJLANJIUQEJDPOF 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 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 0/9] pickman: Improve handling of large merges and add rewind 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 This series adds three improvements to pickman: - Increase the agent SDK buffer size from 1MB to 10MB to avoid fatal errors when processing large responses - Decompose mega-merges (e.g. "Merge branch 'next'") into individual sub-merge batches, so the agent processes them one at a time instead of being overwhelmed by hundreds of commits at once - Add a 'rewind' command for stepping the source position back by N merges, allowing a cherry-pick run to be retried from an earlier point It also tidies up some pylint warnings. Simon Glass (9): pickman: Fix line-too-long pylint warnings in ftest pickman: Extract build_applied_map() from execute_apply() pickman: Group named-tuple declarations together pickman: Rename error to err for local variables pickman: Return NextCommitsInfo from get_next_commits() pickman: Increase agent SDK buffer size to 10MB pickman: Extract find_unprocessed_commits() from get_next_commits() pickman: Decompose mega-merges into sub-merge batches pickman: Add rewind command for stepping backwards tools/pickman/__main__.py | 10 + tools/pickman/agent.py | 8 +- tools/pickman/control.py | 634 ++++++++++++++++++----- tools/pickman/database.py | 8 + tools/pickman/ftest.py | 990 +++++++++++++++++++++++++++++++++--- tools/pickman/gitlab_api.py | 22 +- 6 files changed, 1470 insertions(+), 202 deletions(-)