From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) by sourceware.org (Postfix) with ESMTPS id 55135387540F for ; Wed, 16 Dec 2020 18:35:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 55135387540F Received: by mail-il1-x131.google.com with SMTP id g1so23506538ilk.7 for ; Wed, 16 Dec 2020 10:35:51 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=v/x1jLQbl5na+A72ewXrJEutSC8lgmZAfYZ0zQdTv3s=; b=ndbFoB46aQ7U1H7SPWNQ5OGK6etMnGbE71Y68ad6w9FBWtuQk4mUzm057D0agD++MU 8kP3vNlGYmNBU04MCFRP0JwgyEkN+SK5CjBOVxyEPuBzt+auwGdYrsU0yNDH6MPj08je aTEJ/yvx+jmAhr06gzvyNSb85xn6DA/wTVaO3C6K6dHQYgJD+1lPRlXp60c3EWGewXwH FxMNnWYJWRyId3rH5nS8wwtQqnz3Ra6shOW31wagcyrRH3gf3XYB0oMcJdqTsWPfzZaa wOF9d54o8NXv7kKiriGknB3seymPaOOWcXGdxtmoB4LEhUYTqRvoCrCWA22akLcngPgV DnRw== X-Gm-Message-State: AOAM531nX1g8s3fG+BCz/XqP4lHeS+q3d7FCA+cPXxr3ddWzsTLy/bzN /IJ/hwY/k4zFMZf5eFPYMfv5fp61CaS/Cpldql6y3/m9oWl+Ow== X-Google-Smtp-Source: ABdhPJzq9HSlgoN+W2sxDskfJcWtCfGYtW5o+4MVOhp03VnKNZuVjfEzSnED2ZltjdUBV4UNIUJW3mP7Ksq6DmKGQsg= X-Received: by 2002:a92:d34c:: with SMTP id a12mr48030069ilh.188.1608143750590; Wed, 16 Dec 2020 10:35:50 -0800 (PST) MIME-Version: 1.0 References: <42a05535-8d94-037d-acdb-0f5949f6ea3f@gotplt.org> <87tuswekbd.fsf@igel.home> <1c406b7d-891d-193d-c370-cd00d3e9259f@gotplt.org> In-Reply-To: <1c406b7d-891d-193d-c370-cd00d3e9259f@gotplt.org> From: Girish Joshi Date: Thu, 17 Dec 2020 00:05:38 +0530 Message-ID: Subject: Re: [RFC] Updating patchwork patches on commit To: Siddhesh Poyarekar Cc: Andreas Schwab , Girish Joshi via Libc-alpha , Joseph Myers Content-Type: multipart/mixed; boundary="00000000000000c94505b69925a7" X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Dec 2020 18:35:52 -0000 --00000000000000c94505b69925a7 Content-Type: text/plain; charset="UTF-8" Hello all, I tried a couple of very basic scripts for this. (I know that there are a lot of improvements needed there.) I was able to merge 336 series out of 1114. As "git-pw patch apply " gives "Resource not found" for the older patches. So right now only series are applied to a branch. Here is how the scripts work. We have two scripts, "get-patches.py" and "apply-patches.py" (we can change the names of course). "get-patches.py" reads the patches/series starting from page1 to page 100 (currently) in csv format and dumps it to stdout. This output is piped to the second script "apply-patches.py" which tries to apply each series/patch to the branch. In the end we get two files as an output "merged.txt" and "unmerged.txt" containing the IDs for merged and unmerged series respectively. Currently these files are placed in the current directory, I'll change it to /tmp or something else in the next patch. Just to have it here, to apply patches using these two scripts $ python scripts/get-patches.py series | python scripts/apply-patches.py series apply I'm still not sure about what happens to the older patches, do they get applied from "git-pw series apply" or not (I'm looking into it) because the newer ones do get applied. Is it going in the right direction? Please share your thoughts. Thanks. Girish Joshi girishjoshi.io On Tue, Dec 8, 2020 at 3:40 PM Siddhesh Poyarekar wrote: > > On 12/8/20 2:38 PM, Andreas Schwab wrote: > >> It doesn't; it has it's own hashing function where it normalizes spaces > >> and newline chars to avoid false negatives. > > > > Like git patch-id? > > > > Yeah, except that it (AFAICT) doesn't order the diff input like git > patch-id does :) I suppose I could check if they're willing to add a > dependency on git for this and drop their custom hasher or at least > provide a supported way to add a different hashing function or program. > > Siddhesh --00000000000000c94505b69925a7 Content-Type: text/x-python; charset="US-ASCII"; name="get-patches.py" Content-Disposition: attachment; filename="get-patches.py" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kirqq3fd0 IyFweXRob24zCmltcG9ydCBvcwppbXBvcnQgc3lzCgp0eXBlXyA9IHN5cy5hcmd2WzFdCgpjb21t YW5kID0gImdpdC1wdyB7MH0gbGlzdCAtLXBhZ2UgezF9IC1mIGNzdiIKaWYgdHlwZV8gPT0gJ3Bh dGNoJzoKICAgIGNvbW1hbmQrPSAiIC0tc3RhdGUgJ25ldyciCgpmb3IgaSBpbiByYW5nZSgxLCAx MDApOgogICAgIyBwcmludChjb21tYW5kLmZvcm1hdCh0eXBlXywgaSkpCiAgICByZXQgPSBvcy5z eXN0ZW0oY29tbWFuZC5mb3JtYXQodHlwZV8sIGkpKQogICAgaWYgcmV0OgogICAgICAgIGJyZWFr Cg== --00000000000000c94505b69925a7 Content-Type: text/x-python; charset="US-ASCII"; name="apply-patches.py" Content-Disposition: attachment; filename="apply-patches.py" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kirqq3g81 IyFweXRob24zCmltcG9ydCByZQppbXBvcnQgY3N2CmltcG9ydCBzeXMKaW1wb3J0IHNobGV4Cmlt cG9ydCBzdWJwcm9jZXNzIGFzIHNwCgojIGltcG9ydCB0aW1lCgpwcnVuZV93YXJpbmluZyA9ICJ3 YXJuaW5nOiBUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVu ICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKCiMgTGlzdCBmb3Igc2VyaWVzIGVudHJpZXMK c2VyaWVzID0gW10KCiMgVGhlc2UgbGlzdHMgd2lsbCBjb250YWluIG1lcmdlZCBhbmQgdW5tbmVy Z2VkIHNlcmllcyBkYXRhLgptZXJnZWQgPSBbXQp1bm1lcmdlZCA9IFtdCgojIG9wdGlvbiB0aGF0 IHdlIHdpbGwgYmUgb3BlcmF0aW5nIHVwb24sIHNlcmllcyBvciB0aGUgcGF0Y2gKIyB0aGlzIGlz IHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnQgdG8gZ2l0LXB3CiMgZm9yIGV4YW1wbGUgImdpdC1w dyBwYXRjaCBhcHBseSAxMjM0NSIgb3IgImdpdC1wdyBzZXJpZXMgYXBwbHkgIjEyMzU2Igp0eXBl XyA9ICJzZXJpZXMiCgoKIyBHZXQgdGhlIGNzdiBkYXRhIGZyb20gc3RkaW4KY3N2X2RhdGEgPSBb XQpmb3IgbGluZSBpbiBzeXMuc3RkaW46CiAgICBpZiBub3QgJyJJRCIsIkRhdGUiLCJOYW1lIiwi VmVyc2lvbiIsIlN1Ym1pdHRlciInIGluIGxpbmU6CiAgICAgICAgcHJpbnQobGluZSkKICAgICAg ICBjc3ZfZGF0YS5hcHBlbmQobGluZS5zdHJpcCgpKQoKCiMgcGFyc2UgdGhlIGNzdiBlbnRyaWVz CmRlZiByZWFkX3Jvd3MoY3N2ZmlsZSk6CiAgICBzcGFtcmVhZGVyID0gY3N2LnJlYWRlcihjc3Zm aWxlLCBkZWxpbWl0ZXI9IiwiLCBxdW90ZWNoYXI9JyInKQogICAgZm9yIHJvdyBpbiBzcGFtcmVh ZGVyOgogICAgICAgICMgcHJpbnQocm93KQogICAgICAgIGlmIG5vdCByb3c6CiAgICAgICAgICAg IHJldHVybgogICAgICAgIGlmIHJvdyBhbmQgcm93WzFdICE9ICJJRCI6CiAgICAgICAgICAgIHNl cmllcy5hcHBlbmQocm93KQoKCmRlZiBnZXRfb3V0cHV0KGNtbmQpOgogICAgIiIiCiAgICBFeGVj dXRlIGNvbW1hbmQgYW5kIGNoZWNrIHRoZSBvdXRwdXQsIGlmIGdpdCB0aHJvd3MgYSB3YXJuaW5n IHNheWluZwogICAgIndhcm5pbmc6IFRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29z ZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogICAgYGdpdCBwcnVu ZWAgd2lsbCBiZSBleGVjdXRlZC4gb3RoZXJ3aXNlIG91dHB1dCB3aWxsIGJlIHByaW50ZWQgYW5k IGV4aXQgY29kZQogICAgd2lsbCBiZSByZXR1cm5lZC4KICAgICIiIgogICAgdHJ5OgogICAgICAg IG91dHB1dCA9IHNwLmNoZWNrX291dHB1dCgKICAgICAgICAgICAgY21uZCwgc3RkZXJyPXNwLlNU RE9VVCwgc2hlbGw9VHJ1ZSwgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUKICAgICAgICApCiAgICBl eGNlcHQgc3AuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGV4YzoKICAgICAgICBwcmludCgiU3RhdHVz IDogRkFJTCIsIGV4Yy5yZXR1cm5jb2RlLCBleGMub3V0cHV0KQogICAgICAgIHJldHVybiBleGMu cmV0dXJuY29kZQogICAgZWxzZToKICAgICAgICBwcmludCgiT3V0cHV0OiBcbnt9XG4iLmZvcm1h dChvdXRwdXQpKQogICAgaWYgcHJ1bmVfd2FyaW5pbmcgaW4gb3V0cHV0OgogICAgICAgIHByaW50 KCJydW5uaW5nIGdpdCBwcnVuZSIpCiAgICAgICAgZ2V0X291dHB1dCgiZ2l0IHBydW5lIikKICAg IHJldHVybiAwCgoKZGVmIHdyaXRlX2ZpbGUoZmlsZW5hbWUsIGxpc3RfKToKICAgICIiIgogICAg VGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHdyaXRlIHRoZSBJRHMgZm9yIHBhdGNoZXMvc2VyaWVz IHRoYXQKICAgIGFyZSBtZXJnZWQvdW5tZXJnZWQgYWZ0ZXIgd2UgaGF2ZSBwcm9jZXNzZWQgZXZl cnl0aGluZy4KICAgICIiIgogICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAidyIpIGFzIGY6CiAgICAg ICAgZm9yIGkgaW4gbGlzdF86CiAgICAgICAgICAgIGYud3JpdGUoaVswXSArICJcbiIpCgoKaWYg X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKCiAgICByZWFkX3Jvd3MoY3N2X2RhdGEpCgogICAgIyB0 aGlzIGlzIGNyYXBweSwgaXQgd2lsbCBiZSByZXBsYWNlZCBieSBhcmcgcGFyc2VyLgogICAgaWYg bGVuKHN5cy5hcmd2KSA+PSAzOgogICAgICAgIGlmIHN5cy5hcmd2WzFdID09ICJzZXJpZXMiIG9y IHN5cy5hcmd2WzFdID09ICJwYXRjaCI6CiAgICAgICAgICAgIHR5cGVfID0gc3lzLmFyZ3ZbMV0K CiAgICAgICAgaWYgc3lzLmFyZ3ZbMl0gPT0gImFwcGx5IjoKICAgICAgICAgICAgcHJpbnQoImFw cGx5aW5nICIsIHR5cGVfKQogICAgICAgICAgICBpZiBzZXJpZXM6CiAgICAgICAgICAgICAgICBm b3IgaSBpbiBzZXJpZXM6CiAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAg ICAgICAgICBwcmludCgidHJ5aW5nIHRvIGFwcGx5OiIsIGlbMF0sIGlbMV0sIGlbMl0pCiAgICAg ICAgICAgICAgICAgICAgICAgIGlmIGlbMF0gPT0gIklEIjoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gZ2V0X291dHB1dChmImdp dC1wdyB7dHlwZV99IGFwcGx5IHtpWzBdfSIpCiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50 KCJnaXQgZXhpdCBjb2RlOiAiLCByZXQpCgogICAgICAgICAgICAgICAgICAgICAgICAjIHRpbWUu c2xlZXAoMC41KQogICAgICAgICAgICAgICAgICAgICAgICBpZiByZXQ6CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIGlmIGBnaXQtcHcgcGF0Y2gvc2VyaWVzIGFwcGx5IDxpZD5gIGZhaWxz CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHJlc2V0dGluZyB0byBIRUFECiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwcmludCgicmVzZXR0aW5nLi4uIikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdldF9vdXRwdXQoImdpdCByZXNldCAtLWhhcmQgSEVBRCIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnZXRfb3V0cHV0KCJnaXQgYW0gLS1hYm9ydCIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bm1lcmdlZC5hcHBlbmQoaSkKICAgICAgICAgICAgICAgICAg ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZC5hcHBlbmQoaSkK ICAgICAgICAgICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQgYXMga2U6CiAgICAg ICAgICAgICAgICAgICAgICAgIGJyZWFrCgogICAgcHJpbnQoInRvdGFsIG1lcmdlZDogezB9LCB0 b3RhbCB1bm1lcmdlZCB7MX0iLmZvcm1hdChsZW4obWVyZ2VkKSwgbGVuKHVubWVyZ2VkKSkpCiAg ICB3cml0ZV9maWxlKCJtZXJnZWQudHh0IiwgbWVyZ2VkKQogICAgd3JpdGVfZmlsZSgidW5tZXJn ZWQudHh0IiwgdW5tZXJnZWQpCg== --00000000000000c94505b69925a7--