commit | eefc46f901871c75770bb58c13f6cc063dacbfed | [log] [tgz] |
---|---|---|
author | Alexander Dupuy <alex@dupuy.us> | Thu May 07 18:20:42 2015 +0200 |
committer | Alexander Dupuy <alex.dupuy@mac.com> | Sat May 09 04:20:38 2015 +0200 |
tree | a9dd2175eaf61d36ea65dd1de3f8e42ea844d9c6 | |
parent | cedcea550c495d536247ca23115035b17074cac7 [diff] |
Don't report markup titles as merge conflicts Several markup formats, such as Markdown or Re(Structured)Text can format titles as text with '=' characters as double underlining, like this: ``` My Page Title ============= Lorem ipsum... ``` Rather that considering any line starting with seven '=' as a conflict marker, require a space (or line-ending newline) after the equals. This could still create a false positive for a seven character title, like "Problem", but the markup formats generally allow extra '=' characters, so by formatting the text like this: ``` Problem ======== Not... ``` these pre-commit warnings can be avoided. Also updates the tests to add newlines for more realistic conflict files (while a file might not end with a newline, conflict markers will). Prevent false negative on test_does_not_care_when_not_in_a_conflict() by making sure that README.md contains a line identical to a conflict string (exactly seven '=' followed by a newline).
Some out-of-the-box hooks for pre-commit.
See also: https://github.com/pre-commit/pre-commit
Add this to your .pre-commit-config.yaml
- repo: git://github.com/pre-commit/pre-commit-hooks sha: '' # Use the sha you want to point at hooks: - id: trailing-whitespace # - id: ...
autopep8-wrapper
- Runs autopep8 over python source. (You'll want args: ['-i]
when using this hook, see .pre-commit-config.yaml
for an example.)check-added-large-files
- Prevent giant files from being committed.check-case-conflict
- Check for files that would conflict in case-insensitive filesystems.check-docstring-first
- Checks a common error of defining a docstring after code.check-json
- Attempts to load all json files to verify syntax.check-merge-conflict
- Check for files that contain merge conflict strings.check-xml
- Attempts to load all xml files to verify syntax.check-yaml
- Attempts to load all yaml files to verify syntax.debug-statements
- Check for pdb / ipdb / pudb statements in code.detect-private-key
- Checks for the existence of private keysdouble-quote-string-fixer
- This hook replaces double quoted strings with single quoted stringsend-of-file-fixer
- Makes sure files end in a newline and only a newline.flake8
- Run flake8 on your python filesname-tests-test
- Assert that files in tests/ end in _test.pypyflakes
- Run pyflakes on your python filesrequirements-txt-fixer
- Sorts entries in requirements.txttrailing-whitespace
- Trims trailing whitespace.If you‘d like to use these hooks, they’re also available as a standalone package.
Simply pip install pre-commit-hooks