-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fail nicer when username missing #149
Merged
jorisroovers
merged 6 commits into
jorisroovers:master
from
glasserc:fail-nicer-when-username-missing
Sep 25, 2020
Merged
Fail nicer when username missing #149
jorisroovers
merged 6 commits into
jorisroovers:master
from
glasserc:fail-nicer-when-username-missing
Sep 25, 2020
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
glasserc
force-pushed
the
fail-nicer-when-username-missing
branch
2 times, most recently
from
September 24, 2020 20:49
f5d2bbc
to
5ee2126
Compare
This is meant to help us isolate unpredicted errors that don't correspond to anything we recognize.
This demonstrates a more acceptable behavior for what should happen in this case. This test almost passes right now "by accident" because GitExitCodeError is a subclass of GitContextError.
We catch the bad operation and reraise with a more descriptive error.
This is more-or-less identical to the user.name case.
This addresses the failing test added in the previous commit.
glasserc
force-pushed
the
fail-nicer-when-username-missing
branch
from
September 24, 2020 20:58
5ee2126
to
696e73d
Compare
We test the behavior when these variables are completely missing by setting the GIT_CONFIG environment variable. This requires adding a mechanism to pass through the _env variable to the `sh` library. We keep the existing process's environment to allow things like virtualenvs to work.
Super thanks for creating this PR, I know that must have taken a few hours. |
jorisroovers
added a commit
that referenced
this pull request
Oct 24, 2020
- IMPORTANT: Gitlint 0.14.x will be the last gitlint release to support Python 2.7 and Python 3.5, as both are EOL which makes it difficult to keep supporting them. - Python 3.9 support - New Rule: title-min-length enforces a minimum length on titles (default: 5 chars) (#138) - New Rule: body-match-regex allows users to enforce that the commit-msg body matches a given regex (#130) - New Rule: ignore-body-lines allows users to ignore parts of a commit by matching a regex against the lines in a commit message body (#126) - Named Rules allow users to have multiple instances of the same rule active at the same time. This is useful when you want to enforce the same rule multiple times but with different options (#113, #66) - User-defined Configuration Rules allow users to dynamically change gitlint's configuration and/or the commit before any other rules are applied. - The commit-msg hook has been re-written in Python (it contained a lot of Bash before), fixing a number of platform specific issues. Existing users will need to reinstall their hooks (gitlint uninstall-hook; gitlint install-hook) to make use of this. - Most general options can now be set through environment variables (e.g. set the general.ignore option via GITLINT_IGNORE=T1,T2). The list of available environment variables can be found in the configuration documentation. - Users can now use self.log.debug("my message") for debugging purposes in their user-defined rules. Debug messages will show up when running gitlint --debug. - Breaking: User-defined rule id's can no longer start with 'I', as those are reserved for built-in gitlint ignore rules. - New RegexOption rule option type for use in user-defined rules. By using the RegexOption, regular expressions are pre-validated at gitlint startup and compiled only once which is much more efficient when linting multiple commits. - Bugfixes: - Improved UTF-8 fallback on Windows (ongoing - #96) - Windows users can now use the 'edit' function of the commit-msg hook (#94) - Doc update: Users should use --ulimit nofile=1024 when invoking gitlint using Docker (#129) - The commit-msg hook was broken in Ubuntu's gitlint package due to a python/python3 mismatch (#127) - Better error message when no git username is set (#149) - Options can now actually be set to None (from code) to make them optional. - Ignore rules no longer have "None" as default regex, but an empty regex - effectively disabling them by default (as intended). - Contrib Rules: - Added 'ci' and 'build' to conventional commit types (#135) - Under-the-hood: minor performance improvements (removed some unnecessary regex matching), test improvements, improved debug logging, CI runs on pull requests, PR request template. Full Release details in CHANGELOG.md.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An attempt to make #148 a little less severe.
git
failing to retrieve these configuration variables is still fatal, but at least the error message is a little nicer.