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

Ben Pfaff blp at ovn.org
Thu Jul 25 20:25:19 UTC 2019


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'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



More information about the dev mailing list