Age | Commit message (Collapse) | Author |
|
|
|
Updated the doc homepage to more prominently feature the most common
configuration scenarios.
This relates to #98.
|
|
Bumped version to 0.13.0dev.
|
|
- 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.
|
|
- Integration test dependency versions were contradicting with versions in
test-requirements.txt
- Minor doc updates for the upcoming 0.12.0 release
|
|
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
|
|
Minor changes to the documentation.
|
|
Experimental support for Windows (known issues can be found on the issue
tracker).
Related to #20 and heavily influenced by #71.
|
|
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
|
|
Support the 'revert' commit type for ConventionalCommit contrib-rule
as requested in #84 :-)
|
|
- General tweaks to the documentation
- Added link to homepage to help and debug output
- Updated mkdocs to 1.0.4
|
|
This script allows developers to easily create test repos.
|
|
Added clarification that comment block should be removed before submission.
|
|
Removed duplicate "Custom Issue template"
|
|
Trying out the custom template instead of the bug report template so we can use the same template for all issues
|
|
Added bug report issue template
|
|
Basic support for development on Docker (Vagrant also still works).
This needs more polishing and some documentation.
|
|
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.
|
|
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
|
|
- 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
|
|
- 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`
|
|
Specific version: pypy3.5-v7.0.0-linux64
|
|
Updated docs and tests accordingly.
|
|
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
|
|
- 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
|
|
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.
|
|
Bumped version to 0.12.0dev.
|
|
- 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.
|
|
Upgraded pylint to 2.3.1 for python >= 3.4 and resolved some new issues.
|
|
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.
|
|
Also made minor README and CHANGELOG updates as prep for the upcoming
0.11.0 release.
|
|
This should fix #78.
|
|
- 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
|
|
|
|
This reverts commit f3906027abb1fd434e9c92b1c7050bf146b3121a.
|
|
Bumped version to 0.11.0dev.
|
|
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.
|
|
|
|
Nothing major, just minor tweaks.
|
|
Added a Python 2.6 deprecation warning in setup.py
Also modified the build test in run_tests.sh to check for the warning.
|
|
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.
|
|
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.
|
|
- 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
|
|
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.
|
|
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.
|
|
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.
|
|
This was a follow-up for #46.
|
|
|
|
- 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
|
|
This enables out-of-the-box usage with https://pre-commit.com as a commit-msg
hook.
|