[Freeipa-devel] Experimental patchwork server

Petr Vobornik pvoborni at redhat.com
Tue Oct 23 11:29:04 UTC 2012


On 10/23/2012 11:18 AM, Petr Viktorin wrote:
> On 10/23/2012 03:04 AM, Simo Sorce wrote:
>> On Mon, 2012-10-22 at 18:03 -0400, Simo Sorce wrote:
>>> Hello fellow developers,
>>>
>>> We have discussed for a while among us about how to improve patch
>>> tracking for review purposes. Various method have been discussed for
>>> quite some time now (including gerrit and review board) but for one
>>> reason or another we haven't done much.
>>>
>>> I have now set up a patchwork instance here:
>>> https://patchwork.acksyn.org
>>>
>>> Patchwork is a very lightweight system that doesn't take over our
>>> current practices (although may require minor changes).
>>>
>>> Most importantly it does not replace our mailing list with a new system
>>> that pretends to take over the whole process.
>>>
>>> With patchwork review happens on the mailing list as usual but the
>>> server does automatic tracking of patches updating with comments sent to
>>> the mailing list.
>>>
>>> Feel free to get a login there, and start managing your own patches.
>>> I will keep a look on the system and override patch status for those
>>> that choose not to use it.
>>>
>>> The server has just been installed and I am still configuring it.
>>> If you have any issue please contact me privately or on this list so we
>>> can try to address it.
>>>
>>> I hope we will find the tool useful.
>>>
>>> There is just one thing that patchwork does not handle well, and that is
>>> multiple patches sent in the same mail as attachment.
>>> See what happend here: https://patchwork.acksyn.org/patch/2 where I sent
>>> three patches and only the last one was picked up by the system.
>>>
>>> Patchwork[1] has been developed mostly in the kernel community and there
>>> the rule is to send 1 patch per mail by using git send-mail.
>>>
>>> I will switch to use git send-mail (and resend the above set as a test)
>>> so that patchwork is happy, I hope you all can try to use it as well so
>>> that we can try to use patchwork for all patches.
>>> However I do not want to force people to use git send-mail.
>>> If you are not going to use git send-mail however I would like to ask
>>> you to not send more than one patch per mail message, and instead send
>>> different patches in different messages.
>>> Traditionally this is done by using a patchset header of [PATCH 0/5] and
>>> then following one mail per patch [PATCH 1/5] and then PATCH[2/5]
>>> etc ... the subject should stay the same for all patches in the same
>>> patchset.
>>>
>>> If you have questions or proposal please let me know.
>>>
>>> Also patchwork is python+django so if you have an itch and want to
>>> scratch it then feel free to send patches to me as well as upstream so
>>> we can improve the tool.
>>
>>
>> In case you wonder how to use git send-mail here are a couple of things
>> I do to make it easier.
>>
>> 1. I cloned my public review repo on the machine I use for email so I
>> can push directly from there even when the patches are built on my
>> development machines.
>>
>> 2. set the [sendemail] option for the outgoing smtp server in
>> ~/.gitconfig
>>
>> 3. I create 2 aliases that make the process just s simple 2 commands:
>>
>> alias prep-freeipa='rm -fr $HOME/git-send-mail && git format-patch -M
>> -C --patience --full-index -n --cover-letter -o $HOME/git-send-mail'
>> alias send-freeipa='git send-email --no-chain-reply-to --to
>> "freeipa-devel at redhat.com" --suppress-cc=all $HOME/git-send-mail/*patch'
>>
>> This first alias is called like this:
>> $ prep-freeipa -3
>>
>> It will create a bundle for the lst 3 patches in the tree and dump
>> patches as well as a standard cover letter in a directory called
>> $HOME/git-send-mail
>>
>> I then vim $HOME/git-send-mail/0000-cover-letter.patch, where you need
>> to add a subject and fill in the body of the presentation email
>>
>> Then call simply send-freeipa without any option.
>> It will ask a couple of questions to which you can normally just hit
>> return (defaults are usually ok).
>>
>> HTH,
>> Simo.
>>
>
> Thanks. I do have some critique. Hopefully it's just unfounded
> resistance to change:
>
> The fact that patches are now e-mails, not files, makes it a bit harder
> to work with them. Also, they do not have filenames. We'll need to
> reword https://fedorahosted.org/freeipa/wiki/PatchFormat.
>
> I'm not sure about the separate emails thing. More patches per e-mail
> made it clear what's dependent on what, and probably made it easier to
> ensure the whole thing is pushed at once. With the current practice,
> sometimes patches are forgotten, and I fear this will worsen.
> I guess if Thunderbird can be somehow taught to treat the patch mails as
> replies to the cover letter, it would be better than we have now. Alas,
> it didn't do so for the patches you've sent.
>
> What's the preferred workflow for applying git-sent patches? It seems
> that in Thunderbird, I need to View Source: Ctrl+U, Ctrl+A, Ctrl+C, and
> copy that to a console with `git am` running.
>
>

I like the idea behind the tool but the limit 'one mail one patch' seems 
bothersome. Sending looks easy but applying not. How would you download 
and apply 4 patches from separate mails by reasonable amount of actions? 
Right not I just save all attachments to a directory and run git am 
(assuming that mail client doesn't add '>' to the begging of patch).

I think git was designed to work directly with a mailbox. Is it the 
correct way? Can be sending patches as mails and attachments be combined?

-- 
Petr Vobornik




More information about the Freeipa-devel mailing list