summaryrefslogtreecommitdiff
path: root/.git-hooks
AgeCommit message (Collapse)AuthorFilesLines
2020-07-10Fixup pre-commit hook to work with worktreesThorsten Behrens1-1/+7
For git worktree setups, the hooks sit with the original repo (usually the initial clone). Worktrees with older version checkouts then miss the blacklist->excludelist rename, and consequently fail. Change-Id: I5f60fabc7d5856c74d93c4ada54f57574e0fd1a9
2020-07-10replace usage of blacklist with denylistThorsten Behrens1-3/+3
.. and a few cases of instead doing blacklist->excludelist where that made more sense. Background and motivation: https://tools.ietf.org/html/draft-knodel-terminology-02 [API CHANGE] officecfg::Office::Canvas::DeviceBlacklist -> DeviceDenylist [API CHANGE] officecfg::Office::Canvas::BlacklistCurrentDevice -> DenylistCurrentDevice [API CHANGE] officecfg::Office::Common::Misc::OpenCLBlackList -> OpenCLDenyList Change-Id: Ia35e25496bf0cc0692d5de4cb66bfc232d3a869e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98180 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-02-01git hooks: update commit-msg to Gerrit 2.16.15Jan-Marek Glogowski1-165/+39
This mainly replaces the whole AWK code with the git helper "interpret-trailers", which was added in git v2.2 end of 2014. It also moves the argument checks from the original Gerrit hook to the front of our tests to verify the script arguments. Change-Id: I38c831bf7c9d399419a598d6966e48166d31ea6f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87369 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-01-24git hooks: update the change-id part of commit-msgMiklos Vajna1-45/+118
To the up to date version that is set up by e.g. 'git review -s' from gerrit.libreoffice.org. Should help with \c in commit messages. Change-Id: I42508f6f5bbb6fa70357694fcc820ed9a22f3b0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87347 Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-03Don't count terminating newline when determining line lengthStephan Bergmann1-1/+1
Change-Id: I3a5d306f32697e160f008e73de38fc53f2f1dbda Reviewed-on: https://gerrit.libreoffice.org/84349 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
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