[ovs-dev] [PATCH] Documentation: Document a useful pre-push hook for committers.
blp at ovn.org
Wed Sep 25 20:02:31 UTC 2019
Someone else wrote this script originally, I think, but I've extended
it quite a bit.
Signed-off-by: Ben Pfaff <blp at ovn.org>
.../internals/committer-responsibilities.rst | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/Documentation/internals/committer-responsibilities.rst b/Documentation/internals/committer-responsibilities.rst
index 4d10c3980875..c35fd708913b 100644
@@ -94,3 +94,53 @@ Use Reported-by: and Tested-by: tags in commit messages to indicate the
source of a bug report.
Keep the ``AUTHORS.rst`` file up to date.
+The following script can be helpful because it provides an extra
+chance to check for mistakes while pushing to the master branch of OVS
+or OVN. If you would like to use it, install it as ``hooks/pre-push``
+in your ``.git`` directory and make sure to mark it as executable with
+``chmod +x``. For maximum utility, make sure ``checkpatch.py`` is in
+.. code-block:: bash
+ #! /bin/bash
+ case $remote in
+ ovs|ovn|origin) ;;
+ *) exit 0 ;;
+ while read local_ref local_sha1 remote_ref remote_sha1; do
+ case $remote_ref in
+ while read sha
+ n=$(expr $n + 1)
+ git log -1 $sha
+ checkpatch.py -1 $sha
+ done <<EOF
+ $(git --no-pager log --pretty=%H $local_sha1...$remote_sha1)
+ echo "You're about to push $n commits to protected branch $b on $remote."
+ read -p "Do you want to proceed? [y|n] " reply < /dev/tty
+ if echo $reply | grep -E '^[Yy]$' > /dev/null; then
+ exit 1
+ exit 0
More information about the dev