summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-08-15Trying out dict optionsdict-optionJoris Roovers
2019-07-30Documentation tweaksJoris Roovers
Updated the doc homepage to more prominently feature the most common configuration scenarios. This relates to #98.
2019-07-15Version bump to 0.13.0devJoris Roovers
Bumped version to 0.13.0dev.
2019-07-150.12.0 releasev0.12.0Joris Roovers
- Contrib Rules: community-contributed rules that are disabled by default, but can be enabled through configuration. Contrib rules are meant to augment default gitlint behavior by providing users with rules for common use-cases without forcing these rules on all gitlint users. - New Contrib Rule: contrib-title-conventional-commits enforces the Conventional Commits spec. - New Contrib Rule: cc1-contrib-requires-signed-off-by ensures that all commit messages contain a Sign-Off-By line. - Experimental Windows support: Basic functionality is working, but there are some caveats. - Python 3.3 no longer supported. Python 3.4 is likely to follow in a future release as it has reached EOL as well. - PyPy 3.5 supported - Support for --ignore-stdin command-line flag to ignore any text send via stdin - Bugfixes: - Can't use install-hooks in with git worktree - gitlint failed with configured commentchar - Under-the-hood: dependencies updated, experimental Dockerfile, github issue template. Full Release details in CHANGELOG.md.
2019-07-15Doc updates, integration test dependency updatesJoris Roovers
- Integration test dependency versions were contradicting with versions in test-requirements.txt - Minor doc updates for the upcoming 0.12.0 release
2019-07-08Don't read stdin when --ignore-stdin flag is specifiedJoris Roovers
Previously, gitlint would still read from stdin and log whatever was passed, even when the `--ignore-stin` flag was specified. This is problematic for situations where stdin is blocking and the user is trying to have gitlint ignore stdin all-together. This should provide a workaround for #91
2019-07-08Minor doc updatesJoris Roovers
Minor changes to the documentation.
2019-07-08Windows support (experimental)Joris Roovers
Experimental support for Windows (known issues can be found on the issue tracker). Related to #20 and heavily influenced by #71.
2019-07-08Initial implementation of '--ignore-stdin' flagŁukasz Rogalski
This feature is beneficial when running in automated environments like CI servers. Current heuristic fails in some conditions. With this flag enabled we can simply always ignore stdin and fall back to using target repo. Closes #56
2019-07-02Add 'revert' type to ConventionalCommit contrib-ruleJoris Roovers
Support the 'revert' commit type for ConventionalCommit contrib-rule as requested in #84 :-)
2019-07-02Documentation updatesJoris Roovers
- General tweaks to the documentation - Added link to homepage to help and debug output - Updated mkdocs to 1.0.4
2019-07-02Added create-test-repo.sh scriptJoris Roovers
This script allows developers to easily create test repos.
2019-07-02Update issue templates - minor word changesJoris Roovers
Added clarification that comment block should be removed before submission.
2019-07-02Update issue templates - remove duplicateJoris Roovers
Removed duplicate "Custom Issue template"
2019-07-02Update issue templates - custom templateJoris Roovers
Trying out the custom template instead of the bug report template so we can use the same template for all issues
2019-07-02Update issue templatesJoris Roovers
Added bug report issue template
2019-06-21Dockerfile for developmentJoris Roovers
Basic support for development on Docker (Vagrant also still works). This needs more polishing and some documentation.
2019-06-19Support for (un)installing hooks in git worktreesJoris Roovers
Gitlint no longer hardcodes the path of the commit-msg hook, but takes the correct path from git itself. This fixes issues with using git worktrees. This fixes #68.
2019-06-19Fix: Configured commentchar crashes gitlintJoris Roovers
When a git repository has a custom 'core.commentchar' configured, gitlint wouldn crash. This was caused by gitlint not properly handling the 'success' case where 'git config' returns an exit code of 0. In addition, gitlint wouldn't respect the '—target' parameter to determine the commentchar, instead just executing the git config in the current working directory instead of the target directory. This should fix #59
2019-06-18Improved file and path handlingJoris Roovers
- Replaced all open() statements with io.open(), this improves unicode file handling - Removed a bunch of hard-coded forward slashes to use os.path.join instead, this is more OS agnostic - Replaced os.path.abspath with os.path.realpath for improved symlink handling This commit relates to #20
2019-06-18Updated dependenciesJoris Roovers
- Updated most dependencies to latest (or newer) versions - Removed dependency pinning for Python 2.6 and 3.3 - Minor code-tweaks to deal with dependency changes - Added pypi download stats to `run_tests.sh -s`
2019-06-18PyPy3.5 supportJoris Roovers
Specific version: pypy3.5-v7.0.0-linux64
2019-06-18Drop support for Python 3.3Joris Roovers
Updated docs and tests accordingly.
2019-06-17Contrib rule fix for pypyJoris Roovers
When using pypy2, using Contrib rules would crash gitlint due to an issue with importlib and importing __init__.py files. This patchset fixes that problem and adds a test case that tests for this condition and the related use-case of importing user-defined rules from python packages. Also: updated pypy2 test version in run_tests.sh to v7.1.1
2019-06-17Docs for Contrib RulesJoris Roovers
- Documented Contrib Rules: how to use them, how to write them Additional minor changes: - Renamed the ConventionalCommit id from CL1 to CT1 to align with existing conventions of using a 'T' for title rules. - Help output now wrapped at 120 chars instead of 80
2019-06-17Contrib rules: framework, SignedOffBy, ConventionalCommitJoris Roovers
Contrib rules are community contributed rules that are disabled by default, but can be enabled through configuration. Contrib rules are meant to augment default gitlint behavior by providing users with rules for common use-cases without forcing these rules on all gitlint users. In addition, Contrib rules enables re-usability so that users don't have to re-implement these common rules as user-defined rules. This first iteration puts in place the basic structure for Contrib rules and provides 2 basic Contrib rules: SignedOffBy and ConventionalCommit.
2019-03-13Version bump to 0.12.0devJoris Roovers
Bumped version to 0.12.0dev.
2019-03-130.11.0 releasev0.11.0Joris Roovers
- Python 3.7 support - Python 2.6 no longer supported - Various dependency updates and under the hood fixes (see #76) Special thanks to @pbregener for his contributions related to python 3.7 support and test fixes. Full Release details in CHANGELOG.md.
2019-03-13Pylint fixes for python >= 3.4Joris Roovers
Upgraded pylint to 2.3.1 for python >= 3.4 and resolved some new issues.
2019-03-13Officially drop support for Python 2.6Joris Roovers
Python 2.6 specific dependencies and code workarounds will be removed in the future. For now we're just going to stop testing against Python 2.6 and no longer advertising we're supporting it.
2019-03-13Vagrantfile, run_tests.sh updates to support python 3.7Joris Roovers
Also made minor README and CHANGELOG updates as prep for the upcoming 0.11.0 release.
2019-03-13Make non-existing repository check case-insensitiveJoris Roovers
This should fix #78.
2019-03-13Various test fixes, linting in CI, Python 3.7 compatibility (#76)pbregener
- Various text fixes all over - Enable lint tests for Python 3.6 - Fix some pylint warnings - Ignore pylint errors for bad options - Use unittest2 only for Python 2 - Test Python 3.7 in Travis - Integration Tests: Introduce assertEqualStdout - Activate all integration tests in Travis - Update dependencies in requirements.txt
2018-10-03Fix typo in docs. (#73)Sushobhit
2018-10-03Revert "Removed erroneous 'stages' line from .pre-commit-hooks.yaml (#64)" (#72)Anthony Sottile
This reverts commit f3906027abb1fd434e9c92b1c7050bf146b3121a.
2018-04-15Version bump to 0.11.0devJoris Roovers
Bumped version to 0.11.0dev.
2018-04-150.10.0 releasev0.10.0Joris Roovers
The 0.10.0 release adds the ability to ignore commits based on their contents, support for pre-commit, and important fix for running gitlint in CI environments (such as Jenkins, Gitlab, etc). Special thanks to @asottile, @bdrung, @pbregener, @torwald-sergesson, @RykHawthorn, @SteffenKockel and @tommyip for their contributions. Since it's becoming increasingly hard to support Python 2.6 and 3.3, we'd like to encourage our users to upgrade their python version to 2.7 or 3.3+. Future versions of gitlint are likely to drop support for Python 2.6 and 3.3. Full Changelog: - New Rule: ignore-by-title allows users to ignore certain commits by matching a regex against a commit message title. - New Rule: ignore-by-body allows users to ignore certain commits by matching a regex against a line in a commit message body. - Gitlint now supports pre-commit.com. - Gitlint now has a --msg-filename commandline flag that allows you to specify the commit message to lint via a file. - Gitlint will now be silent by default when a specified commit range is empty. - Gitlint can now be installed on MacOS by brew via the homebrew-devops tap. To get the latest version of gitlint, always use pip for installation. - If all goes well, gitlint will also be available as a package in the Ubuntu 18.04 repositories. - Bugfixes: - We fixed a nasty and recurring issue with running gitlint in CI. Hopefully that's the end of it :-) - Fix for custom git comment characters. Full Release details in CHANGELOG.md.
2018-04-15Removed erroneous 'stages' line from .pre-commit-hooks.yaml (#64)Rob Orr
2018-04-15Minor documentation updates prior to 0.10.0 releaseJoris Roovers
Nothing major, just minor tweaks.
2018-04-15Python 2.6 deprecation warningJoris Roovers
Added a Python 2.6 deprecation warning in setup.py Also modified the build test in run_tests.sh to check for the warning.
2018-04-15Unicode byte decode fixesJoris Roovers
Added better handling for decoding bytes to unicode strings in the ustr() function. This fixed the test_stdin_file integration in python 3.6. Also fixed a python 2.6 linting issue.
2018-04-06Smart fallback to local repo when STDIN is a pipe or fileJoris Roovers
Gitlint will now fallback to reading from the local repository when reading an empty input from STDIN in case STDIN is a named pipe or file. This allows gitlint to work properly in environments where no TTY is attached and no input is being piped into gitlint either (like when running a plain gitlint command (no arguments) in a CI environment like Jenkins or Gitlab). This fixes #42.
2018-04-02Cleanup + Changelog updateJoris Roovers
- Added additional subdirectories for better unit test organization. - Added Changelog details in prep for upcoming v0.10.0 release - Minor documentation tweaks - Some improvements to ./run_tests.sh --stats
2018-04-02New ignore-by-body ruleJoris Roovers
New ignore-by-body (I2) that allows users to ignore commit messages based on matching the commit body against a regex. Also fixed an issue with unit test failures in Python 3.4 and 3.5 which had a different default sort order for dictionaries. This closes #54.
2018-04-01Integration test + docs for ignore-by-title ruleJoris Roovers
Added integration tests and documentation for the new ignore-by-title rule. Also added '--ignore-requires-python' to pip installs in run_tests.sh to deal with some python 2.6 and 3.3 issues.
2018-03-31New IgnoreByTitle ruleJoris Roovers
Added a new IgnoreByTitle rule that is based on a new more generic rule construct called ConfigurationRule. ConfigurationRules can modify gitlint configuration (and therefore behavior) on a per commit basis. Added some tests and docs, more docs and integration tests to follow in additional commits. This is part of #54 and #57.
2018-03-30Debug statement when no commits in specified commit rangeJoris Roovers
This was a follow-up for #46.
2018-03-30Exit silently when the specified commit range is empty (#46)Tommy Ip
2018-03-30Fix + integration tests + docs for --msg-filenameJoris Roovers
- Fixed an issue with unicode for --msg-filename (this is why the integration tests failed). - Added more specific integration tests for --msg-filename (currently it was tested more implicitely through the hook tests). - Update docs with info on --msg-filename - Also updated Vagrantfile to xenial64 and fixed some related python installation issues
2018-03-29Add pre-commit metadata (#62)Anthony Sottile
This enables out-of-the-box usage with https://pre-commit.com as a commit-msg hook.