get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2232208/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2232208,
    "url": "http://patchwork.ozlabs.org/api/patches/2232208/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260503204936.3151124-4-sjg@chromium.org/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260503204936.3151124-4-sjg@chromium.org>",
    "list_archive_url": null,
    "date": "2026-05-03T20:49:21",
    "name": "[3/6] siemens: Quote A/B flags in env tests",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "10658f8e3b64add4bcb2b75674845b2b08609aa4",
    "submitter": {
        "id": 6170,
        "url": "http://patchwork.ozlabs.org/api/people/6170/?format=api",
        "name": "Simon Glass",
        "email": "sjg@chromium.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260503204936.3151124-4-sjg@chromium.org/mbox/",
    "series": [
        {
            "id": 502588,
            "url": "http://patchwork.ozlabs.org/api/series/502588/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=502588",
            "date": "2026-05-03T20:49:18",
            "name": "test: Quote variables in 'test -n' expressions across boards",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502588/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2232208/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2232208/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=YU9RL2hg;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org\n header.b=\"YU9RL2hg\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=sjg@chromium.org"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g7xkD6QWpz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 04 May 2026 06:50:28 +1000 (AEST)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 880138460D;\n\tSun,  3 May 2026 22:50:18 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 5BFF48460D; Sun,  3 May 2026 22:50:17 +0200 (CEST)",
            "from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com\n [IPv6:2607:f8b0:4864:20::c30])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 323818460E\n for <u-boot@lists.denx.de>; Sun,  3 May 2026 22:50:15 +0200 (CEST)",
            "by mail-oo1-xc30.google.com with SMTP id\n 006d021491bc7-6949f3eeaf6so1837686eaf.0\n for <u-boot@lists.denx.de>; Sun, 03 May 2026 13:50:15 -0700 (PDT)",
            "from chromium.org ([174.51.25.52]) by smtp.gmail.com with ESMTPSA id\n 006d021491bc7-696aacbb5bbsm1142940eaf.15.2026.05.03.13.50.10\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sun, 03 May 2026 13:50:11 -0700 (PDT)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=chromium.org; s=google; t=1777841413; x=1778446213; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=CjL/zERxLRKvSiRJOy+ECOsm64FP/vH4t+IFexREaws=;\n b=YU9RL2hgcBgH94vyWvKcugK8bXg/gNZVaDxm+Eg4HuIuf47TRu7lAHL9JHrNvt2HN1\n 2+YoNo6sc5iWyoLtVqcl/RFMHfO1uSK2DTfqNrcY1OFW66tCrQGYxSXEGbWnz6kGjRgO\n FUu7nwC9HhL4edjj9E+02uVqiYiV7Ts0BNAQw=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777841413; x=1778446213;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=CjL/zERxLRKvSiRJOy+ECOsm64FP/vH4t+IFexREaws=;\n b=XhDxDCeGpqoyu7nxma7STHzD0QiiC1DeBi1vwv2deRMM1uRpoZVIlyBVPfCzx+QiR9\n OggT0kla4QW25zfdiXcWQPe2xgxsaHvtKODP1922SWFnHLb8gGFI6QS9tja8ROzLKyLW\n la9ogsc+pB3LqLdZ40VI9BkPRvl2u0W9R3SU61s8B8hVia16Lltsd5aTJizYntkdk2S6\n ovRTXNC0GuqXEGa4+ZgvgbUHc3szBdE6jTfwK93kKi1LjZAxS64FYG07K9PNKpHMr4SI\n LkTr17BfnLNjbFBGZfy8zcuVFSaT3sVatemp8kjGmLQs8uoZQyVNeV5BOTJdg2cGZlY/\n drJA==",
        "X-Gm-Message-State": "AOJu0YwvKr9gyBnYrJw9D3VAtpaQvcEt55/e3gqjXcpcps93QufRMTdO\n rXpj87o4Zual+2wWkVO093a6J/E3G0T/3zvX6w4YHDuKhJNToMwp//f3dP1zniXcjNZ6joeae3e\n suM2Ttw==",
        "X-Gm-Gg": "AeBDieu0Yfs8YYWq6W98eYlnn3gbEQrBBCc6wtP0jgQduZ3ozUUHgZIhHMfp/p8nqkI\n yhguHmtF+NO4loJbkHZnPJkOvThcRnF5YsGnzmMaa97IHUE30FNx9LOLJJWpIDQRw2wRm0O+qo8\n 7ohUG3PqG0d4+Ho0jCtZp9JnNPubesE2y5ute6TQckMfx+5Z5PHLrdpZTh9vWUXyxm2l5rfbb3h\n LQ/DZIq7VZBp60MNT//LGg0dQiTfnFSIJA0ojXH0S1tdU2KsnPG3Z+XhIDpAJ8aIuxIlkHPQhmq\n 07HhTVakcp3jbrOf36VL0aFEfznLlmh0lRRvWHEAZzG7rnBw/Zu66aDPGTigQUNVqQnriTY7Jsm\n 7X9bUOo99enadqssaayN4idWEIgkO+6eARJzRFAWWA5biWLRxNubqlIcTb1jYvSXpS//XtQrEPr\n 4UaXFWqxIwSfJbujO00RM4JaOuSP4D",
        "X-Received": "by 2002:a05:6820:16ac:b0:694:9910:f78f with SMTP id\n 006d021491bc7-69696b029b3mr2821014eaf.3.1777841413388;\n Sun, 03 May 2026 13:50:13 -0700 (PDT)",
        "From": "Simon Glass <sjg@chromium.org>",
        "To": "u-boot@lists.denx.de",
        "Cc": "Simon Glass <sjg@chromium.org>, Enrico Leto <enrico.leto@siemens.com>,\n Rasmus Villemoes <ravi@prevas.dk>, Tom Rini <trini@konsulko.com>",
        "Subject": "[PATCH 3/6] siemens: Quote A/B flags in env tests",
        "Date": "Sun,  3 May 2026 14:49:21 -0600",
        "Message-ID": "<20260503204936.3151124-4-sjg@chromium.org>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260503204936.3151124-1-sjg@chromium.org>",
        "References": "<20260503204936.3151124-1-sjg@chromium.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "The Siemens am33x-common, env-common and draco-etamin headers gate\nboot-partition selection logic on:\n\n    if test -n ${A}; then ...\n    if test -n ${B}; then ...\n\nA and B are flags that the upgrade machinery sets to mark \"the other\npartition just became active\".  The default state is unset, in which\ncase the expression expands to 'test -n' with no operand and relies\non a U-Boot 'test' quirk that treats a missing operand as false to\nskip the branch.\n\nQuote each variable so an unset A or B expands to 'test -n \"\"' and\nthe emptiness check is explicit.\n\nFixes: 8b0619579b22 (\"cmd: test: fix handling of single-argument form of test\")\nSigned-off-by: Simon Glass <sjg@chromium.org>\n---\n\n include/configs/draco-etamin.h         |  4 ++--\n include/configs/siemens-am33x-common.h | 12 ++++++------\n include/configs/siemens-env-common.h   |  8 ++++----\n 3 files changed, 12 insertions(+), 12 deletions(-)",
    "diff": "diff --git a/include/configs/draco-etamin.h b/include/configs/draco-etamin.h\nindex 6ae85b575b7..b1b403980b1 100644\n--- a/include/configs/draco-etamin.h\n+++ b/include/configs/draco-etamin.h\n@@ -99,10 +99,10 @@\n \t\"nand_args=run bootargs_defaults;\" \\\n \t\t\"mtdparts default;\" \\\n \t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\"if test -n ${A}; then \" \\\n+\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_a;\" \\\n \t\t\"fi;\" \\\n-\t\t\"if test -n ${B}; then \" \\\n+\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_b;\" \\\n \t\t\"fi;\" \\\n \t\t\"setenv nand_root ubi0:${nand_active_ubi_vol} rw \" \\\ndiff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h\nindex a918dc1350c..da822556909 100644\n--- a/include/configs/siemens-am33x-common.h\n+++ b/include/configs/siemens-am33x-common.h\n@@ -104,11 +104,11 @@\n \t\t\t\t\"then \" \\\n \t\t\t\t\"setenv upgrade_available 0;\" \\\n \t\t\t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\t\t\"if test -n ${A}; then \" \\\n+\t\t\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\t\t\"setenv partitionset_active B; \" \\\n \t\t\t\t\t\"env delete A; \" \\\n \t\t\t\t\"fi;\" \\\n-\t\t\t\t\"if test -n ${B}; then \" \\\n+\t\t\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\t\t\"setenv partitionset_active A; \" \\\n \t\t\t\t\t\"env delete B; \" \\\n \t\t\t\t\"fi;\" \\\n@@ -205,11 +205,11 @@\n \t\"nand_args=run bootargs_defaults;\" \\\n \t\t\"mtdparts default;\" \\\n \t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\"if test -n ${A}; then \" \\\n+\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${nand_active_ubi_vol_A};\" \\\n \t\t\t\"setenv nand_src_addr ${nand_src_addr_A};\" \\\n \t\t\"fi;\" \\\n-\t\t\"if test -n ${B}; then \" \\\n+\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${nand_active_ubi_vol_B};\" \\\n \t\t\t\"setenv nand_src_addr ${nand_src_addr_B};\" \\\n \t\t\"fi;\" \\\n@@ -279,10 +279,10 @@\n \t\"nand_args=run bootargs_defaults;\" \\\n \t\t\"mtdparts default;\" \\\n \t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\"if test -n ${A}; then \" \\\n+\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_a;\" \\\n \t\t\"fi;\" \\\n-\t\t\"if test -n ${B}; then \" \\\n+\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_b;\" \\\n \t\t\"fi;\" \\\n \t\t\"setenv nand_root ubi0:${nand_active_ubi_vol} rw \" \\\ndiff --git a/include/configs/siemens-env-common.h b/include/configs/siemens-env-common.h\nindex c028823e1eb..8ced77cc5e2 100644\n--- a/include/configs/siemens-env-common.h\n+++ b/include/configs/siemens-env-common.h\n@@ -81,12 +81,12 @@\n  */\n #define ENV_FCT_TOGGLE_PARTITION \"toggle_partition=\"\\\n \t\"setenv ${partitionset_active} true;\" \\\n-\t\"if test -n ${A}; \" \\\n+\t\"if test -n \\\"${A}\\\"; \" \\\n \t\"then \" \\\n \t\t\"setenv partitionset_active B; \" \\\n \t\t\"env delete A; \" \\\n \t\"fi;\" \\\n-\t\"if test -n ${B}; \"\\\n+\t\"if test -n \\\"${B}\\\"; \"\\\n \t\"then \" \\\n \t\t\"setenv partitionset_active A; \" \\\n \t\t\"env delete B; \" \\\n@@ -103,11 +103,11 @@\n  */\n #define ENV_EMMC_FCT_SET_ACTIVE_PARTITION \"set_partition=\" \\\n \t\"setenv ${partitionset_active} true;\" \\\n-\t\"if test -n ${A}; \" \\\n+\t\"if test -n \\\"${A}\\\"; \" \\\n \t\"then \" \\\n \t\t\"setenv mmc_part_nr 1;\" \\\n \t\"fi;\" \\\n-\t\"if test -n ${B}; \" \\\n+\t\"if test -n \\\"${B}\\\"; \" \\\n \t\"then \" \\\n \t\t\"setenv mmc_part_nr 2;\" \\\n \t\"fi;\" \\\n",
    "prefixes": [
        "3/6"
    ]
}