[ovs-dev] [PATCH] committer-responsibilities: Add guidelines for fixing up mistakes.

Ilya Maximets i.maximets at samsung.com
Fri Jul 26 13:12:48 UTC 2019


On 25.07.2019 23:25, Ben Pfaff wrote:
> On Thu, Jul 25, 2019 at 08:39:21AM -0700, Ben Pfaff wrote:
>> On Thu, Jul 25, 2019 at 11:21:25AM +0300, Ilya Maximets wrote:
>>> On 25.07.2019 6:09, Ben Pfaff wrote:
>>>> On Wed, Jul 24, 2019 at 08:25:54PM +0300, Ilya Maximets wrote:
>>>>> On 24.07.2019 20:05, Ben Pfaff wrote:
>>>>>> Signed-off-by: Ben Pfaff <blp at ovn.org>
>>>>>> ---
>>>>>> Based on an off-lst discussion with Ilya.  This is just my first, off-hand
>>>>>> thought on the topic.  Feedback welcome!
>>>>>
>>>>> We could also consider suggesting a git hook like that:
>>>>> ---
>>>>> $ cat .git/hooks/pre-push
>>>>> #!/bin/bash
>>>>>
>>>>> remote=$1
>>>>> protected_remote='upstream'
>>>>>
>>>>> if [ $protected_remote != $remote ]; then exit 0; fi
>>>>>
>>>>> echo "You're about to push to $protected_remote."
>>>>>
>>>>> read -p "Do you want to proceed? [y|n] " reply < /dev/tty
>>>>> if echo $reply | grep -E '^[Yy]$' > /dev/null; then exit 0; fi
>>>>>
>>>>> exit 1
>>>>> ---
>>>>
>>>> Have you tried this?  How does it work for you in practice?
>>>
>>> Yes. It works for me.
>>> 'exit 1' from the script fails the hook and disallows further push processing.
>>
>> OK.  Do you want to submit a patch?

I'm not sure how to include this into repository and it's probably
better to get this along with the docs pointing to it. So, feel free
to use/modify in your patch.

> 
> I've now installed something similar locally.  I wanted to make sure
> that my script for automatic crossporting didn't prompt me, so I
> modified it to be selective about the branch name:
> 
> #!/bin/bash
> 
> remote=$1
> protected_remote='ovs'
> 
> if [ $protected_remote != $remote ]; then exit 0; fi
> 
> prompt=no
> while read local_ref local_sha1 remote_ref remote_sha1; do
>     case $remote_ref in
>         refs/heads/master) prompt=yes ;;
>     esac
> done
> if test $prompt = no; then exit 0; fi
> 
> echo "You're about to push to a protected branch on $protected_remote."
> 
> read -p "Do you want to proceed? [y|n] " reply < /dev/tty
> if echo $reply | grep -E '^[Yy]$' > /dev/null; then exit 0; fi
> 
> exit 1

Looks good. But since I don't have any fully automated scripts for applying
patches I'd rather forbid all branches for myself.


More information about the dev mailing list