summaryrefslogtreecommitdiff
path: root/.git-hooks
AgeCommit message (Collapse)Author
2018-01-15git pre-commit hook: catch copy&pasted author identityMiklos Vajna
git log --author="Your" confirms that this happens in practice. Change-Id: I48633bc9154ebc66fc022938831057bdc3ff76b3 Reviewed-on: https://gerrit.libreoffice.org/47892 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-12-15clang-format: restore lost warning on touching formatted file without checkMiklos Vajna
Consistently only assign something to $clang_format if it's a good version, and also consistently return undef if we found no good version. Change-Id: Iadbbb56a5c15dfaeec5c80e3cc8fcc78b787c04b Reviewed-on: https://gerrit.libreoffice.org/46489 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-12-13clang-format: ignore not staged hunksMiklos Vajna
09:28 <@sberg> vmiklos, I think I ran into a scenario last night where I had both `git add`-ed and non-added changes in a non-blacklisted file, and the non-added changes violated clang-format (and the added ones did not), and the commit hook complained So make sure we validate the index version, not the filesystem one. (And modify a formatted file to trigger CI validation of the hook change itself.) Change-Id: I6431b35ac50dd03741104b5709c5195d6ff28632 Reviewed-on: https://gerrit.libreoffice.org/46368 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-21git-hooks: fix pre-commit in submodulesMiklos Vajna
translations.git failed with "Can't locate ClangFormat.pm in @INC (you may need to install the ClangFormat module)". Change-Id: Ibbe051c1cb4c1200da58821589b8271434b1f9a6 Reviewed-on: https://gerrit.libreoffice.org/45020 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-20clang-format: enforce coding style via JenkinsMiklos Vajna
- factor out common code to a shared module, and quote path to the clang-format binary, just in case. - add a new check-last-commit script that is the CI equivalent of the exiting git pre-commit hook, but this one handles lack of clang-format as an error, not as a warning. - $LODE_HOME/opt/bin is supposed to be in PATH already, so not mentioning LODE_HOME in ClangFormat::find() explicitly. - if both COMPILER_PLUGINS and LODE_HOME is set, invoke solenv/clang-format/check-last-commit as part of 'make check' To test these changes as part of CI, fix a single style violation in an already committed, non-blacklisted file. This depends on the lode.git commit 496123bcae28e06c6d6aeda39a5afd1e1fb1fd98 (utils_Linux: install clang-format in the Jenkins case, 2017-11-16), otherwise erroring out on a not installed clang-format as part of the build would be a problem. Change-Id: Ib3110826194ff78a7f1bed1c3796147e92ccb3ba Reviewed-on: https://gerrit.libreoffice.org/44939 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-11-16git-hooks: mention download link for clang-format when warning about itMiklos Vajna
Change-Id: I99f2154bb3d15fe4a99c1d27ca20756e1fb31cec Reviewed-on: https://gerrit.libreoffice.org/44810 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-11-16Warn when commit touches new files, but no suitable clang-format is foundStephan Bergmann
Change-Id: Ifd254c30b8aecf6e7aec00bbfc8522a91bfa0909
2017-11-13First look for clang-format in CLANG_FORMT env varStephan Bergmann
Change-Id: I5de5c6f3e8be1d40c03cbddb9d2f4414b9a5791b
2017-11-13clang-format: standardize on 5.0.0Miklos Vajna
Restrict the git hook further to only enforce style in case the found clang-format binary's version matches to avoid output differences with different clang-format version. While at it, move the blacklist reading after the version check to speed up committing a bit when no local enforcement happens. Also add a simple script to list formatted files, since the blacklist is large enough that doing it naively from the shell is too slow. Change-Id: I0bc05961d262cc6bc91c6efdd1b91994ecfc6940 Reviewed-on: https://gerrit.libreoffice.org/44662 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-03Enforce coding style with clang-format for new codeMiklos Vajna
- The actual blacklist has to be generated with solenv/clang-format/generate-style-blacklist.sh in a separate commit. - .clang-format is from <https://lists.freedesktop.org/archives/libreoffice/2014-August/062802.html>, except: - the commented out lines are removed - Standard is Cpp11 instead of Cpp03 - explicitly avoid sorting includes (requested during ESC meeting 2017-10-11) - no indentation inside namespaces (lots of existing code in sc wants this) - The git hooks prints a diff when the style is violated, along with a command to fix up the violation automatically. It also enforces style only in new files and ignores all files listed in the blacklist. - To avoid introducing one more hard-to-setup build dependency for new developers, help them two ways: - if clang-format is not installed, provide pre-built binaries for Linux/Windows/macOS - download/install of these binaries are printed as cmdline instructions, similar to how we have our own 'make' on Windows - As per ESC call 2017-11-02, currently don't do any checks if clang-format is not installed (as a first step). Change-Id: Iaa139c396337e8734aa1853305d808438260c41a Reviewed-on: https://gerrit.libreoffice.org/43736 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-10-30git-hooks: don't complain about large .ui filesMichael Stahl
Looks legit. Change-Id: I73562d0a8d863868ae717cee97b6497a93df4ee4
2017-09-20pre-commit-hook: Also check xsl files for whitespace and tabsSamuel Mehrbrodt
Change-Id: Ibc1520735ab20787496564e8561a6bb5920a5538 Reviewed-on: https://gerrit.libreoffice.org/42280 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-09-11insist in a domain in .ui filesCaolán McNamara
and just check .ui files for those .ui-specific patterns Change-Id: If7b9c8779f7592db5b22ab96058dd85666ca9bdf Reviewed-on: https://gerrit.libreoffice.org/42160 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-11disallow .ui translatable entries without context at checkinCaolán McNamara
Change-Id: Iece6ae3c4eabad4cd113f469495d2c42833a7b92 Reviewed-on: https://gerrit.libreoffice.org/42157 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-03-24git pre-commit hook: Also check swift filesSamuel Mehrbrodt
Change-Id: I60c7ccd06b104c6a6ae5e7985fe8c3215f7e97d4 Reviewed-on: https://gerrit.libreoffice.org/35624 Reviewed-by: jan iversen <jani@libreoffice.org> Tested-by: jan iversen <jani@libreoffice.org>
2016-12-08tdf#102784 - Enhance git pre-commit hookMarina Latini
This pre-commit hook prevents the commit of ui files with tooltip_markup property Change-Id: I70d6f90fc36e782c290f35f0cc9415b9fa96495b Signed-off-by: Marina Latini <marina@studiostorti.com> Reviewed-on: https://gerrit.libreoffice.org/31735 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Muhammet Kara <muhammet.kara@pardus.org.tr> Tested-by: Muhammet Kara <muhammet.kara@pardus.org.tr> Reviewed-by: jan iversen <jani@documentfoundation.org>
2015-09-08git-hooks: Info how to install them manually.Jan Holesovsky
Change-Id: I42f007a1ef18e39a6f42e882b43ece771052081a
2015-06-13Catch funny line-ends in pre-commit hook.Thorsten Behrens
Change-Id: I38836a9b3c9fb8ab7b71e157bba8a803eb4d3905
2015-02-13git-hooks: post-merge script does not need /bin/bashThomas Klausner
Just use /bin/sh, which exists on more systems. Change-Id: I5e5453b89841510473414a4c339b647b4f95ae7b
2015-02-13git-hooks: recognize multiple bug idsMiklos Vajna
Change-Id: I6ef51a8ec3215f331d2671074be17f68aa6cd1ce
2015-02-12git hooks: reject suspicious fdo referencesMiklos Vajna
Change-Id: If2302adb662bd2b0d32bacdf9cdc3c0278b86de8
2014-05-16git pre-commit hook: block large filesMiklos Vajna
Change-Id: Id27cfa805fc7cd0f4f6cc3d8bb770aa7abd536e1
2013-03-01grep actually doesn't normally know \t, but [:blank:] is [ \t]Luboš Luňák
Change-Id: Ie9bf8ea60f1c0595aa3ac2e0f9b3e6505af30e6c
2013-03-01warn about commit messages with accidental commentsLuboš Luňák
The comment provided by git starts lines with '# ' (space or tab), so warn if a line starts with # not followed by a space. It's most likely something like '#ifdef UNX' or AOO's '#i103131#'. We already have commits where git silently stripped off such lines. Change-Id: Ic366d8ee64207edb8bb2fb1ef3a6a192f55872d8
2012-10-26add hook to block use of markup in .ui filesCaolán McNamara
Change-Id: Ia7eed5e9e1f8fba9876730e909461dabc167deb9
2012-10-25if git hooks are moved, move the README as wellMiklos Vajna
Change-Id: I1d9e64bf16b7572de120e9f81e9f13c7c4c11ca0
2012-10-16submodules migrationNorbert Thiebaud
Change-Id: Ib3e472a4b1abf880f695be7a6667393d6a82f10d