summaryrefslogtreecommitdiff
path: root/utils/hooks
AgeCommit message (Collapse)Author
2024-10-08hooks: pre-push: Verify that co-authors have a SoB lineLaurent Pinchart
The Co-developed-by tag must be followed by a corresponding SoB line. Enforce this rule in the git pre-push hook. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2024-01-09hooks: pre-push: Disable interpretation of escape sequencesKieran Bingham
The pre-push hook validates the commit messages utilising 'echo' to send the captured data from the git commit through grep. Commit messages may occasionally contain strings that could appear to be escape sequences such as doxygen style references to \struct. The '\' 'c' escape sequence can be interpreted to supress all further output [0] which then breaks the processing and string matching. Unfortunatley for us, doxygen's class reference constructed in the same form as \struct can be interpreted as the escape sequence to supress further output. [0] https://www.gnu.org/software/bash/manual/bash.html#Bash-Builtins Update the pre-push hook to explicitly disable escape sequence interpretation using the '-E' flag. This is not available on the posix-compliant shell 'dash', so also switch to bash explicitly to prevent potential failures. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-03-28utils: hooks: pre-push: Catch commits without author's SoBLaurent Pinchart
The pre-push git hook script catches commits without a SoB line corresponding to the committer, but doesn't perform the same check on the author. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-10-19utils: hooks: pre-push: Check push to integration/* branchesLaurent Pinchart
Branches named integration/* are candidates for merge in the master branch. Subject them to the same checks in the pre-push git hook. An important difference between integration branches and the master branch is that the former are typically created as new branches. We can't check the whole history as there are known bad commits, so we have to identify the base commit for the integration branch. The best approximation is to use the remote master branch for the tree being pushed to. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-11-02utils: hooks: pre-push: Reject commits with a Change-IdLaurent Pinchart
We're not using gerrit, so let's prevent Change-Id tags creeping in unadvertently. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-10-02utils: hooks: pre-push: Accept Acked-by in addition to Reviewed-byLaurent Pinchart
Allow pushing commits that have no Reviewed-by tag but have at least one Acked-by tag. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2020-04-30utils: hooks: pre-push: Catch commits without reviewsLaurent Pinchart
Improve the pre-push git hook script to reject commits without at least one Reviewed-by line. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-04-30utils: hooks: pre-push: Catch commits without committer's SoBLaurent Pinchart
Improve the pre-push git hook script to reject commits without the committer's Signed-off-by line. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2020-04-15licenses: Add SPDX headers to the git commit hook scriptsLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-04-15utils: hooks: Add pre-push commit hookLaurent Pinchart
Add a pre-push commit hooks to prevent unintentional push of patches containing local changelogs to the master branch. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2020-01-18checkstyle: Add a pre-commit hook scriptNicolas Dufresne
This adds support for pre-commit hook workflow. In pre-commit hook we check the style on the changes currently staged or the combination of the index and the last commit if "git commit --amend" is being used. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2019-01-30utils: hooks: Provide post-commit hook example to checkstyle.pyKieran Bingham
Provide an example post-commit hook which a developer can install, ensuring that every commit gets the style checker executed on it. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>