All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aditya <yashsri421@gmail.com>
To: Dwaipayan Ray <dwaipayanray1@gmail.com>,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>
Cc: linux-kernel-mentees@lists.linuxfoundation.org
Subject: Re: [Linux-kernel-mentees] POC script to apply patches into a test-branch and run clang-format
Date: Tue, 22 Dec 2020 15:55:20 +0530	[thread overview]
Message-ID: <fea0e147-4016-b039-f8d0-0ab88ef60484@gmail.com> (raw)
In-Reply-To: <CABJPP5At6mYOCDyQWLf72guKaWV1xJxyYPELk+_4WQ8E+f9jfg@mail.gmail.com>

On 22/12/20 1:17 am, Dwaipayan Ray wrote:
>> Okay, I downloaded and tried it:
>>
>> perl ./scripts/applypatch.pl --clang-format test.patch
>> --branch=test-clang-format-bfq-cgroup
>>
>> but it failed:
>>
>> git checkout test-clang-format-bfq-cgroup
>> Already on 'test-clang-format-bfq-cgroup'
>> git am $patchtest.patch
>> fatal: could not open '.patch' for reading: No such file or directory
>> Clang formatted patchfile generated at:
>> test.patch.EXPERIMENTAL-clang_format-fixes
>> git checkout test-clang-format-bfq-cgroup
>> Already on 'test-clang-format-bfq-cgroup'
>>
>> How about setting up a minimal travis.ci check that runs this command
>> on a small git repository with one file and one patch on top for
>> testing purposes?
>>
>> The script does not have error handling yet, so the next steps are
>> just executed blindly even if the one before failed and is really
>> required for the next one to do the right thing.
>>
>> I generally like the script, let us work a bit on tuning it for proper
>> error handling, add some basic tests and then discuss it with Miguel.
>>
>> Lukas
>>
> 
> Hello Lukas,
> Sorry for being late on this update. I have my college exams going on
> right now, so that caused a bit of delay.
> 
> Nevertheless I have applied some changes along with some error handling fixes.
> The script is available here:
> https://github.com/raydwaipayan/apply-patch
> 
> The script has the following options now:
> usage: $P [options] patchfile(s)
> Options:
> --branch=<branch-name> => test branch name
> --format => Use clang format
> --clang-format-diff=<s> => clang-format-diff path
> --help => show this help information
> --root=<root_dir> => root dir location
> 
> By default script searches for "clang-format-diff.py" in path. If it goes
> by any other name that should be supplied using
> --clang-format-diff="FULL_PATH_OF_EXECUTABLE"
> 
> I ran the script like this:
> $ ./scripts/applypatch.pl
> 0001-scripts-mod-cleanup-a-few-checkpatch.pl-warnings.patch --format
> 
> Expected output:
> git checkout -b test-master
> Switched to a new branch 'test-master'
> git am 0001-scripts-mod-cleanup-a-few-checkpatch.pl-warnings.patch
> Patch applied successfully:
> 0001-scripts-mod-cleanup-a-few-checkpatch.pl-warnings.patch
> Running clang-format
> Diff written to clang-format-fixes.diff
> git checkout master
> Switched to branch 'master
> 
> Lukas, could you check if this script works on your system as expected?
> 
> Also Aditya, I think the latest clang-format-diff goes by the name
> 'clang-format-diff-8' on debian based systems. While in my arch based one
> it goes by 'clang-format-diff.py'. Can you verify whether the script works
> directly or is the executable path flag needed?
> 

For debian based system, the user will have to add
--clang-format-diff="/usr/bin/clang-format-diff-8".

A few more improvements can be made. For eg., the script should exit
if the patch isn't applying. Currently, it continues a step further
and stops after giving error: "Error: This script requires
clang-format-diff to be installed.".
Also, this puts the git status in mid of git am, which needs to be reset.

Maybe we can improve the error message by displaying them about
"--clang-format-diff" option and giving install options in the error
message. This should make the script easier to be used.

One more improvement I guess we can make with the .diff file, by
renaming .diff after patchfile name. This way it won't be overwritten
each time and also be in consistency with checkpatch.pl --fix.

I'll try to make these improvements and send a PR or a patch to you,
where we can discuss any changes.

Thanks
Aditya
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

  reply	other threads:[~2020-12-22 10:25 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-05 11:10 [Linux-kernel-mentees] POC script to apply patches into a test-branch and run clang-format Dwaipayan Ray
2020-12-05 15:27 ` Aditya
2020-12-05 15:54   ` Dwaipayan Ray
2020-12-06 10:48     ` Aditya
2020-12-11  6:17       ` Lukas Bulwahn
2020-12-11  6:24         ` Dwaipayan Ray
2020-12-11  6:27           ` Lukas Bulwahn
2020-12-11  9:16             ` Aditya
2020-12-15  6:46               ` Lukas Bulwahn
2020-12-21 19:47                 ` Dwaipayan Ray
2020-12-22 10:25                   ` Aditya [this message]
2020-12-22 10:34                     ` Dwaipayan Ray
2020-12-22 10:53                       ` Lukas Bulwahn
2020-12-23 13:16                         ` Aditya
2021-02-05 19:56                           ` Aditya
2021-02-06  9:21                             ` Aditya

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fea0e147-4016-b039-f8d0-0ab88ef60484@gmail.com \
    --to=yashsri421@gmail.com \
    --cc=dwaipayanray1@gmail.com \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=lukas.bulwahn@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.