summaryrefslogtreecommitdiff
path: root/util/gitconfig/pre-commit
AgeCommit message (Collapse)Author
2018-05-30checkpatch: exclude util/crossgcc/patchesPatrick Georgi
These files are supposed to contain trailing whitespace due to the patch format. Also use the exclusion list in the pre-commit hook. Change-Id: I8816c05ea703964a332915a0675096836957b242 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-on: https://review.coreboot.org/26695 Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Martin Roth <martinroth@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2018-05-30util/gitconfig: improve robustness of checkpatch in pre-commitPatrick Georgi
Users can have non-default configurations as to how git diff et al are presenting file names in diffs (default: a/ and b/ prefixes). checkpatch expects that and trims the first element, so enforce that configuration for the diff that's sent into it. Change-Id: I099795119456a73c900b31ce191c2d9e898a5c7e Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-on: https://review.coreboot.org/26694 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Martin Roth <martinroth@google.com>
2018-01-11util/gitconfig: Refuse to commit on lint failureAlex Thiessen
After running `lint-stable` in the pre-commit hook, its result is ignored. This behavior was introduced in commit b18f522b (lint/gitconfig: Enable checkpatch.pl checking of commits) and it doesn't seem intentional. This issue was also mentioned in the revert discussion (https://review.coreboot.org/c/coreboot/+/17440). Enable `errexit` mode of the shell so that the hook fails when an error occurs in any of the tests. Also, enable `nounset` mode to catch typos easier. Change-Id: I749963167660ea6a1a04d40a14ad1113e82f0f86 Signed-off-by: Alex Thiessen <alex.thiessen.de+coreboot@gmail.com> Reviewed-on: https://review.coreboot.org/23130 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
2018-01-10util/gitconfig: Add missing license headersAlex Thiessen
License header for the `gitconfig.sh` was copied from the Makefile it was extracted from in commit 9ab8ae6a (util/gitconfig: Make gitconfig a bash script). License header for the pre-commit hook names Patrick Georgi as the copyright holder as he is the original author. Change-Id: Ie051e5e6ae7571050ece383e6be8236ed7d1ddd9 Signed-off-by: Alex Thiessen <alex.thiessen.de+coreboot@gmail.com> Reviewed-on: https://review.coreboot.org/23097 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2018-01-04util/gitconfig: Support dash in pre-commit hookAlex Thiessen
On debian systems, /bin/sh is `dash` which has built-in `echo` always interpreting escape sequences such as '\n'. The pre-commit hook uses the built-in for piping diff to checkpatch, interpreting the diff's escape sequences in the process and leading to false negatives and preventing commits despite conformance. Use `printf` instead of `echo` when handling diff content. The bug was introduced in commit ef869305 (util/gitconfig: update pre-commit script). Change-Id: I37edfe7b32721cb63d99299563cb11f26082c9a9 Signed-off-by: Alex Thiessen <alex.thiessen.de+coreboot@gmail.com> Reviewed-on: https://review.coreboot.org/23070 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2017-07-29util/gitconfig: update pre-commit scriptMartin Roth
The previous pre-commit script generates an error when a commit doesn't actually generate a patch file. This happens in rare instances when the only change in a patch is to update file permissions. Update the pre-commit script to verify that there's actually a patch before calling checkpatch. Also print that we're running checkpatch so that it doesn't look like odd failures come from lint-stable. Fixes Bug #132 - Problem with `lint-stable` when changing mode of file Change-Id: I142610b6fc984b2b14fd6c634bc4e7f2880ba987 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/20781 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2015-07-17lint/gitconfig: Enable checkpatch.pl checking of commitsStefan Reinauer
This patch enables running the checkpatch script on the code portion of each commit as part of the pre-commit hook. At this point there is no checking of the commit message in place (e.g. for typos) Change-Id: I7cdf0692cf372986e411f4aba4691417b73c7511 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/8419 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marc.jones@se-eng.com>
2015-04-28gitconfig: Use the right make executable in git hooksPatrick Georgi
When installing git hooks through $(MAKE) gitconfig, make knows itself (and is a GNU make). So let it splice itself into hooks where necessary by replacing %MAKE%. Change-Id: Iaf778bfa3f17a8fe31312f871571ed89a9de5385 Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-on: http://review.coreboot.org/10018 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2012-03-01gitconfig: Add lint-stable as pre-commit hookPatrick Georgi
When configuring the tree with "make gitconfig", a pre-commit hook is installed that runs the stable lint tests. If any of these fail, the log is visible (on stdout) and the commit is aborted. Change-Id: Ie2a26e87f466c63b24db8dca8827057a18ac7f3e Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-on: http://review.coreboot.org/682 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>