Show a patch.

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

{
    "id": 9216,
    "url": "https://patchwork.libcamera.org/api/patches/9216/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/9216/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20200805104900.2172763-10-niklas.soderlund@ragnatech.se>",
    "date": "2020-08-05T10:49:00",
    "name": "[libcamera-devel,v8,9/9] libcamera: camera_manager: Enforce unique camera IDs",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "72025260ff7ae7be9ea69723a86d92fcc00adbf9",
    "submitter": {
        "id": 5,
        "url": "https://patchwork.libcamera.org/api/people/5/?format=api",
        "name": "Niklas Söderlund",
        "email": "niklas.soderlund@ragnatech.se"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/9216/mbox/",
    "series": [
        {
            "id": 1192,
            "url": "https://patchwork.libcamera.org/api/series/1192/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1192",
            "date": "2020-08-05T10:48:51",
            "name": "libcamera: Generate unique and stable camera IDs",
            "version": 8,
            "mbox": "https://patchwork.libcamera.org/series/1192/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/9216/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/9216/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>",
        "X-Original-To": "parsemail@patchwork.libcamera.org",
        "Delivered-To": "parsemail@patchwork.libcamera.org",
        "Received": [
            "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 2A7EABD87B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  5 Aug 2020 10:49:22 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 06E7A605B6;\n\tWed,  5 Aug 2020 12:49:22 +0200 (CEST)",
            "from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net\n\t[195.74.38.228])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B11396039D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Aug 2020 12:49:20 +0200 (CEST)",
            "from bismarck.berto.se (p54ac52a8.dip0.t-ipconnect.de\n\t[84.172.82.168]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid 5095d8f5-d709-11ea-a39b-005056917f90;\n\tWed, 05 Aug 2020 12:49:20 +0200 (CEST)"
        ],
        "X-Halon-ID": "5095d8f5-d709-11ea-a39b-005056917f90",
        "Authorized-sender": "niklas@soderlund.pp.se",
        "From": "=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Wed,  5 Aug 2020 12:49:00 +0200",
        "Message-Id": "<20200805104900.2172763-10-niklas.soderlund@ragnatech.se>",
        "X-Mailer": "git-send-email 2.28.0",
        "In-Reply-To": "<20200805104900.2172763-1-niklas.soderlund@ragnatech.se>",
        "References": "<20200805104900.2172763-1-niklas.soderlund@ragnatech.se>",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH v8 9/9] libcamera: camera_manager: Enforce\n\tunique camera IDs",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<libcamera-devel.lists.libcamera.org>",
        "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>",
        "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>",
        "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>",
        "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "The camera ID is documented that it should be unique but it's not\nenforced. Change this by refusing to add cameras to the CameraManager\nthat would create two cameras with the exact same ID.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n* Changes since v5\n- Rename 'name' to 'id'.\n- Make error Fatal.\n\n* Changes since v4\n- Update string in error message.\n\n* Changes since v3\n- Update commit message.\n---\n src/libcamera/camera_manager.cpp | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp\nindex 76543b6aac8df9c4..47d56256abd6d490 100644\n--- a/src/libcamera/camera_manager.cpp\n+++ b/src/libcamera/camera_manager.cpp\n@@ -182,10 +182,10 @@ void CameraManager::Private::addCamera(std::shared_ptr<Camera> camera,\n \n \tfor (std::shared_ptr<Camera> c : cameras_) {\n \t\tif (c->id() == camera->id()) {\n-\t\t\tLOG(Camera, Warning)\n-\t\t\t\t<< \"Registering camera with duplicate ID '\"\n+\t\t\tLOG(Camera, Fatal)\n+\t\t\t\t<< \"Trying to register a camera with a duplicated ID '\"\n \t\t\t\t<< camera->id() << \"'\";\n-\t\t\tbreak;\n+\t\t\treturn;\n \t\t}\n \t}\n \n",
    "prefixes": [
        "libcamera-devel",
        "v8",
        "9/9"
    ]
}