summaryrefslogtreecommitdiff
path: root/.git-hooks
AgeCommit message (Collapse)AuthorFilesLines
2019-06-05git-hooks: show length of first line if it's too longMiklos Vajna1-2/+3
Change-Id: I164e4308c2a3e685bbc83cfde1cae5189839075e Reviewed-on: https://gerrit.libreoffice.org/73556 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2019-02-13Remove unhelpful "Check for whitespace in front of *'s" from .git-hooksStephan Bergmann1-6/+0
It was added with 60f200caa44ddd42830eec3a98364facba71e6e1 "git-hooks: Copy them from the build repo", but I don't see its purpose, and it caused trouble for me now when trying to commit <https://gerrit.libreoffice.org/67672> "Merge in Flatpak improvements". Change-Id: I922b5be87549793466f99db8b12be6081e683292 Reviewed-on: https://gerrit.libreoffice.org/67674 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-22git hooks: Tell what to do in another problematic submodules case.Jan Holesovsky1-0/+6
Change-Id: I6247df16c021c13c97471cae16d3a1c0f3ddc691
2018-11-22git hooks: Check that you are not committing to submodules by accident.Jan Holesovsky1-0/+54
And also for a dangerous setting in the configuration that hides the changes from you. Change-Id: I99bad8024baf7048696d9602e857c253c20cb5c2 Reviewed-on: https://gerrit.libreoffice.org/63389 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2018-10-03Add Python files to pre-commit hook checksThorsten Behrens1-2/+2
Change-Id: Ie5a631abe25a25bab9e74b353994f0788fe3dd06 Reviewed-on: https://gerrit.libreoffice.org/61279 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-05-22Restore .git-hooks/commit-msg accidentally removed earlierTor Lillqvist1-0/+193
(Removed in a06954bf5b100c9433b4e1dbcdcf8ab2df2763a1.) Change-Id: Ieec84ecb9863c490786e4c195b8e6a838c0712a0 Reviewed-on: https://gerrit.libreoffice.org/54662 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-05-22tdf#117342 - Add Karasa Jaga to LibreOffice coreRizal Muttaqin1-193/+0
Change-Id: Id121df0ddc763a299c5714cadd0d61740876e3d6 Reviewed-on: https://gerrit.libreoffice.org/54512 Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com> Tested-by: Heiko Tietze <tietze.heiko@gmail.com>
2018-02-09clang-format: improve error message when CI failsMiklos Vajna1-0/+2
Don't just tell the problem but hint how to fix it. Change-Id: I9d079ee7d4ed61266e22a3fa21efe10366724645 Reviewed-on: https://gerrit.libreoffice.org/49471 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-15git pre-commit hook: catch copy&pasted author identityMiklos Vajna1-0/+14
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 Vajna1-1/+1
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 Vajna1-2/+1
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 Vajna1-1/+9
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 Vajna1-53/+10
- 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 Vajna1-25/+22
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 Bergmann1-27/+31
Change-Id: Ifd254c30b8aecf6e7aec00bbfc8522a91bfa0909
2017-11-13First look for clang-format in CLANG_FORMT env varStephan Bergmann1-8/+12
Change-Id: I5de5c6f3e8be1d40c03cbddb9d2f4414b9a5791b
2017-11-13clang-format: standardize on 5.0.0Miklos Vajna1-13/+25
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 Vajna1-0/+113
- 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 Stahl1-0/+8
Looks legit. Change-Id: I73562d0a8d863868ae717cee97b6497a93df4ee4
2017-09-20pre-commit-hook: Also check xsl files for whitespace and tabsSamuel Mehrbrodt1-2/+2
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 McNamara1-4/+7
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 McNamara1-0/+5
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 Mehrbrodt1-2/+2
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 Latini1-0/+4
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 Holesovsky1-9/+15
Change-Id: I42f007a1ef18e39a6f42e882b43ece771052081a
2015-06-13Catch funny line-ends in pre-commit hook.Thorsten Behrens1-0/+4
Change-Id: I38836a9b3c9fb8ab7b71e157bba8a803eb4d3905
2015-02-13git-hooks: post-merge script does not need /bin/bashThomas Klausner1-1/+1
Just use /bin/sh, which exists on more systems. Change-Id: I5e5453b89841510473414a4c339b647b4f95ae7b
2015-02-13git-hooks: recognize multiple bug idsMiklos Vajna1-3/+8
Change-Id: I6ef51a8ec3215f331d2671074be17f68aa6cd1ce
2015-02-12git hooks: reject suspicious fdo referencesMiklos Vajna1-0/+7
Change-Id: If2302adb662bd2b0d32bacdf9cdc3c0278b86de8
2014-05-16git pre-commit hook: block large filesMiklos Vajna1-0/+14
Change-Id: Id27cfa805fc7cd0f4f6cc3d8bb770aa7abd536e1
2013-03-01grep actually doesn't normally know \t, but [:blank:] is [ \t]Luboš Luňák1-1/+1
Change-Id: Ie9bf8ea60f1c0595aa3ac2e0f9b3e6505af30e6c
2013-03-01warn about commit messages with accidental commentsLuboš Luňák1-0/+8
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 McNamara1-2/+6
Change-Id: Ia7eed5e9e1f8fba9876730e909461dabc167deb9
2012-10-25if git hooks are moved, move the README as wellMiklos Vajna1-0/+9
Change-Id: I1d9e64bf16b7572de120e9f81e9f13c7c4c11ca0
2012-10-16submodules migrationNorbert Thiebaud3-0/+320
Change-Id: Ib3e472a4b1abf880f695be7a6667393d6a82f10d