get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 126242,
    "url": "https://patches.dpdk.org/api/patches/126242/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230418140726.1472209-3-thomas@monjalon.net/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230418140726.1472209-3-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230418140726.1472209-3-thomas@monjalon.net",
    "date": "2023-04-18T14:07:26",
    "name": "[2/2] devtools: deduplicate function to mark fixes",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "cbb28b29bae2f48a9de27eedd1aa4711aebb3243",
    "submitter": {
        "id": 685,
        "url": "https://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230418140726.1472209-3-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 27760,
            "url": "https://patches.dpdk.org/api/series/27760/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=27760",
            "date": "2023-04-18T14:07:24",
            "name": "minor changes in script used for backports",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/27760/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/126242/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/126242/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 367D84297D;\n\tTue, 18 Apr 2023 16:08:06 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 0EE0342D16;\n\tTue, 18 Apr 2023 16:08:05 +0200 (CEST)",
            "from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com\n [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id 0212B42C24\n for <dev@dpdk.org>; Tue, 18 Apr 2023 16:08:03 +0200 (CEST)",
            "from compute2.internal (compute2.nyi.internal [10.202.2.46])\n by mailout.nyi.internal (Postfix) with ESMTP id 99B605C0117;\n Tue, 18 Apr 2023 10:08:02 -0400 (EDT)",
            "from mailfrontend1 ([10.202.2.162])\n by compute2.internal (MEProxy); Tue, 18 Apr 2023 10:08:02 -0400",
            "by mail.messagingengine.com (Postfix) with ESMTPA for\n <dev@dpdk.org>;\n Tue, 18 Apr 2023 10:08:02 -0400 (EDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n cc:content-transfer-encoding:content-type:date:date:from:from\n :in-reply-to:in-reply-to:message-id:mime-version:references\n :reply-to:sender:subject:subject:to:to; s=fm3; t=1681826882; x=\n 1681913282; bh=QgyJDe8EooEBkNT0KoTdr/uL/Aqgis/rSb4DgLmmtx4=; b=s\n hu+Ephg/00ycs3ySg1QN8sggE1gKKLN0k25NvGLQaKCZ23WrUPfhIOK9KBqp4zSN\n PlZiK4J+d6H9it8tgVaMCM6gwDtN5mxOX4m/XQ7xq68dN52EJAnB55Ei3NFFyrlf\n /fAIFNWR2M0f3hQwNkPoi4rvsAyKxA8AMSA/PCWhvl+IfiEjgiqHbFSGvX2MN4qD\n nKX0na5GXqK8eeITVBHX2NVRtSo6CLayoFZiSY5xjO+Qjhb88LUzn3H41Dj2aKVw\n o3sxR5ZKY2ulILF+6OjcDQdShyQ7Uvh4oPHkLhLcnIjHYWLo8wm4ZvQTyjdbZl/1\n jK81Z3zq8pwMWCVWvRc8Q==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:content-transfer-encoding:content-type\n :date:date:feedback-id:feedback-id:from:from:in-reply-to\n :in-reply-to:message-id:mime-version:references:reply-to:sender\n :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender\n :x-me-sender:x-sasl-enc; s=fm3; t=1681826882; x=1681913282; bh=Q\n gyJDe8EooEBkNT0KoTdr/uL/Aqgis/rSb4DgLmmtx4=; b=j6dU+LxaPzdF/1FCj\n zrFNaqcvXijfPj0mfO3bzxr1wEhgw5PoUzcCIFc1oXRThRLWSej+aWUXh3wR/o2O\n mT70NwVgdSbaA8VZbBXg5v8jJ7bGNHo8yBPbvIcMlBMofDK4m1PriVcrbrTZVJ7q\n IC9n4RfyNyocgM4gPGrGU0B3XisBqjtcqFisaFCLwinxPSfILl2X/yVJpbic7oRG\n +LkvjDfpPMxpX5nWSVQ2lZWSlmdn/LABPtWOI5x7XfYh8edbc8QJ2MPQJ0fkz1bS\n K+zUaCuUmxZHGwxstz8kpvnLg2Znt7dgtcq63otAWp0KFf26AJ96nwcYcZqgISkz\n r7KAw=="
        ],
        "X-ME-Sender": "<xms:QqQ-ZNKcV9vMTuMJBDS4NC0vwOlPlLrg37THFYwo5apsqEoelfWtRA>\n <xme:QqQ-ZJKNwBB-pbZvx7exUwOs-ysylWb5pki4sFXscggI-EbGDnWIN7pEPtDWIkdvw\n Lmo4BO2oUXSfgecXA>",
        "X-ME-Received": "\n <xmr:QqQ-ZFvLJTcee3cm7rHbSy1LosLDI173hG5yAoXaaqcUPN4cdOiVXkg-3jMLC5CH5DU5Abg12UfbP3Ubko3PmL9suHAvoZc>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedvhedrvdelkedgjedvucetufdoteggodetrfdotf\n fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgjfhgggfestdekre\n dtredttdenucfhrhhomhepvfhhohhmrghsucfoohhnjhgrlhhonhcuoehthhhomhgrshes\n mhhonhhjrghlohhnrdhnvghtqeenucggtffrrghtthgvrhhnpedvhefgiedvjeegtdevhe\n efhfetleefgfeivefgffevfeejgedtgfeutdehtdegveenucevlhhushhtvghrufhiiigv\n pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrd\n hnvght",
        "X-ME-Proxy": "<xmx:QqQ-ZObDkha8pjh8iwPBXGx9Nl4HiTLWUgZPy9ulgPrydYYyBFd0Mg>\n <xmx:QqQ-ZEbRycDhemaNQ6WwoV2yGlj-KlDP9bYWD55BJACQK9tl-AwskA>\n <xmx:QqQ-ZCCbYYkRL4_ljHxVrKwqfIt6bDYxDb_xYYYscjjszwmouMjCbw>\n <xmx:QqQ-ZK0gnlTQCfvrkdpj0iGtg8TcGj7qVHRgGjj1c0jDSc4a3f2kmw>",
        "Feedback-ID": "i47234305:Fastmail",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Subject": "[PATCH 2/2] devtools: deduplicate function to mark fixes",
        "Date": "Tue, 18 Apr 2023 16:07:26 +0200",
        "Message-Id": "<20230418140726.1472209-3-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.40.0",
        "In-Reply-To": "<20230418140726.1472209-1-thomas@monjalon.net>",
        "References": "<20230418140726.1472209-1-thomas@monjalon.net>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "In the commit 8070d8fecb4e (\"devtools: add fixes flag to commit listing\")\nthe function to mark a commit for \"stable\" was duplicated for \"Fixes:\" mark.\n\nThe code is a bit smaller by using a single function for both marks.\n\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\n devtools/git-log-fixes.sh | 22 ++++++----------------\n 1 file changed, 6 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh\nindex 4690dd4545..005e46f715 100755\n--- a/devtools/git-log-fixes.sh\n+++ b/devtools/git-log-fixes.sh\n@@ -84,31 +84,21 @@ origin_version () # <origin_hash> ...\n \tdone | sort -uV | head -n1\n }\n \n-# print a marker for stable tag presence\n-stable_tag () # <hash>\n+# print a marker for pattern presence in the commit message\n+git_log_mark () # <hash> <pattern> <marker>\n {\n-\tif git log --format='%b' -1 $1 | grep -qi '^Cc: *stable@dpdk.org' ; then\n-\t\techo 'S'\n+\tif git log --format='%b' -1 $1 | grep -qi \"$2\" ; then\n+\t\techo \"$3\"\n \telse\n \t\techo '-'\n \tfi\n }\n \n-# print a marker for fixes tag presence\n-fixes_tag () # <hash>\n-{\n-        if git log --format='%b' -1 $1 | grep -qi '^Fixes: *' ; then\n-                echo 'F'\n-        else\n-                echo '-'\n-        fi\n-}\n-\n git log --oneline --reverse $range |\n while read id headline ; do\n \torigins=$(origin_filter $id)\n-\tstable=$(stable_tag $id)\n-\tfixes=$(fixes_tag $id)\n+\tstable=$(git_log_mark $id '^Cc: *stable@dpdk.org' 'S')\n+\tfixes=$(git_log_mark $id '^Fixes:' 'F')\n \t[ \"$stable\" = \"S\" ] || [ \"$fixes\" = \"F\" ] || [ -n \"$origins\" ] || continue\n \tversion=$(commit_version $id)\n \tif [ -n \"$origins\" ] ; then\n",
    "prefixes": [
        "2/2"
    ]
}