RFE: use patchwork to submit a patch
Konstantin Ryabitsev
konstantin at linuxfoundation.org
Fri Oct 11 06:53:35 AEDT 2019
On Thu, Oct 10, 2019 at 03:07:29PM -0300, Mauro Carvalho Chehab wrote:
>> - the patch submission screen has a succession of screens:
>>
>> 1. a screen with a single field allowing a user to paste a URL to
>> their fork of the git repository.
>
>This will raise the bar, as it will force all developers to have a
>public site to host the tree. I guess only a fraction of the 4k kernel
>devs have it... In special, the ones that just want to send us a patch
>fixing a bug may have serious troubles implementing that.
I don't think this will raise the bar, as Github/Gitlab allow for very
easy forking of https://github.com/torvalds/linux. This is also not at
all aimed at "all developers" -- only those that don't want to use the
current CLI workflow and are more comfortable with web tools like
Github.
>> 2. next screen asks the user to select the ref to work from using
>> the
>> list obtained from the remote. Once submitted, patchwork performs a
>> `git clone --reference` to clone the repository locally using a
>> local fork of the same repo to minimize object transfer. This part
>> requires that:
>> a. patchwork project is configured with a path to a local fork,
>> if this feature is enabled for a project
>> b. that fork is kept current via some mechanism outside of
>> patchwork (e.g. with grokmirror)
>> c. there is some sanity-checking during the clone process to
>> avoid abuse (e.g. a sane timeout, a tmpdir with limited size,
>> etc -- other suggestions welcome)
>
>That would require a high bandwidth at the machine with as patchwork.
>Also, doesn't sound a good idea to me, as the server may end by having
>tons of open sections, most waiting for tens of minutes, in order to
>complete git clone.
This is actually really fast if you already have a local copy of the
repository with most objects. Try this yourself if you have
torvalds/linux.git locally:
git clone --bare -s torvalds/linux.git test
cd test
git remote add arm-soc https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
git fetch arm-soc for-next
The whole process takes a second or so and the resulting repo is 328K in
size.
Of course, this assumes that the remote repository isn't trying to do
something nasty, which is why I suggest anti-abuse precautions.
>> I know this is a pretty big RFE, and I would like to hear your
>> thoughts
>> about this. If there is general agreement that this is doable/good idea,
>> I may be able to come up with funding for this development as part of
>> the overall tooling improvement proposal.
>
>The procedure itself is not bad, but, if implemented, IMHO, it should,
>instead, be something that will run at the machine of the one submitting
>the patch. For instance, this could be a perl or python script inside
>Kernel's ./script directory that would handle everything locally, and
>then submit the patch via patchwork's REST API.
I think I didn't make clear that this isn't supposed to go straight to
patchwork. Patchwork is merely a convenient tool where this happens --
the resulting patch gets mailed out to the mailing list just as the user
would have done.
-K
More information about the Patchwork
mailing list