Experimental Patchwork setup

Paolo Bonzini bonzini@gnu.org
Thu Jun 10 02:54:00 GMT 2010


On 06/09/2010 10:03 AM, Jeremy Kerr wrote:
> Hi Manuel,
>
>>> 2) Use the command-line patchwork client to update patch state when a
>>> patch is committed. People have done this with a git post-commit hook to
>>> update the state of the patch in patchwork; I'm not sure if svn has
>>> something equivalent.
>>
>> Yes it does. If you tell us how the git pots-commit hook works, we
>> could try to implement a version for svn and GCC.
>
> This is what I've used for git:
>
> 	[jk@pororo helloworld]$ cat .git/hooks/post-applypatch
> 	#!/bin/bash
>
> 	sha=$(git rev-parse HEAD)
> 	hash=$(git show $sha | pwparser --hash)
> 	pwclient update -s Accepted -c $sha -h $hash

The hash would be different for git diff and svn diff due to the 
different headers.  So, git people would have to add the hook 
themselves, while svn people could skip that step assuming that a 
centralized hook is running on the svn server.

On the other hand, svn patch ids are not stable, for two reasons. The 
first is the "(revision NNNN)" and "(working tree)" markers, which 
differ from the time the patch is made, to the time it is committed. 
These markers could be removed by pwparser using a simple regex.

The second is that paths in svn patches are relative, so people can run 
"svn diff" from the GCC directory and get a different patch id than if 
they ran "svn diff gcc".  Certainly, we don't want to require svn people 
to run "svn diff" from the toplevel exclusively.  So, maybe the commit 
hook would have to try removing common paths one by one and pass all the 
resulting hashes to pwclient...

Paolo



More information about the Gcc mailing list