diff --git a/.gitignore b/.gitignore index d7b2df7..e2db256 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,6 @@ docs/_build/ # PyBuilder target/ + +# Source +master/ diff --git a/Makefile b/Makefile index bdca640..95973e5 100644 --- a/Makefile +++ b/Makefile @@ -1,93 +1,24 @@ .PHONY: clean-pyc clean-build docs clean -define BROWSER_PYSCRIPT -import os, webbrowser, sys -try: - from urllib import pathname2url -except: - from urllib.request import pathname2url - -webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) -endef -export BROWSER_PYSCRIPT -BROWSER := python -c "$$BROWSER_PYSCRIPT" help: - @echo "all - local build including docs" - @echo "clean - remove all build, test, coverage and Python artifacts" - @echo "clean-build - remove build artifacts" - @echo "clean-pyc - remove Python file artifacts" - @echo "clean-test - remove test and coverage artifacts" - @echo "lint - check style with flake8" - @echo "test - run tests quickly with the default Python" - @echo "test-all - run tests on every Python version with tox" - @echo "coverage - check code coverage quickly with the default Python" @echo "docs - generate Sphinx HTML documentation, including API docs" - @echo "docsbrowse - generate Sphinx HTML documentation and start browser" - @echo "release - package and upload a release" - @echo "dist - package" - @echo "install - install the package to the active Python's site-packages" -all: docs - python setup.py build +master: + git clone -b master `git config --get remote.origin.url` master -clean: clean-build clean-pyc clean-test +docs: master + cd master && git pull origin master && make docs + mv master/docs/_build/html/* . + mv _modules modules + mv _static static + mv _sources sources + perl -pi.bak -e 's/_sources/sources/g; s/_static/static/g; s/_modules/modules/g' *.html modules/*.html modules/*/*.html + rm *.html.bak modules/*.html.bak modules/*/*.html.bak -clean-build: - rm -fr build/ - rm -fr dist/ - rm -fr .eggs/ - find . -name '*.egg-info' -exec rm -fr {} + - find . -name '*.egg' -exec rm -f {} + +clean: + rm *.html + rm -fr modules static sources -clean-pyc: - find . -name '*.pyc' -exec rm -f {} + - find . -name '*.pyo' -exec rm -f {} + - find . -name '*~' -exec rm -f {} + - find . -name '__pycache__' -exec rm -fr {} + +realclean: + rm -fr master -clean-test: - rm -fr .tox/ - rm -f .coverage - rm -fr htmlcov/ - -lint: - flake8 git_lint tests - -test: - py.test - - -test-all: - tox - -coverage: - coverage run --source git_lint py.test - coverage report -m - coverage html - $(BROWSER) htmlcov/index.html - -docs: - rm -f docs/git_lint.rst - rm -f docs/modules.rst - sphinx-apidoc -o docs/ git_lint - $(MAKE) -C docs clean - $(MAKE) -C docs html - $(MAKE) -C docs man - -docbrowse: docs - $(BROWSER) docs/_build/html/index.html - -servedocs: docs - watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D . - -release: clean - python setup.py sdist upload - python setup.py bdist_wheel upload - -dist: clean - python setup.py sdist - python setup.py bdist_wheel - ls -l dist - -install: clean - python setup.py install --prefix=/usr/local diff --git a/README.rst b/README.rst deleted file mode 100644 index 042873f..0000000 --- a/README.rst +++ /dev/null @@ -1,91 +0,0 @@ -=============================== -Git Lint: README -=============================== - -A git command that automatically runs identifiable linters against -changed files in your current git repository or staging area. - -* Free software: MIT license - -**Git Lint** runs a configurable set of syntax, style, and complexity -checkers against changed files in your current working directory or -staging area. It can be configured to work with any `lint`-like -command. Some commands may require shell wrappers. - -While it may be possible to create a custom lint command in your npm, -grunt, Make, CMake, or whatever, the fact is we all use a VCS, and most -of us use git. Having a centralized repository for what we want checked -and how we want it checked, associated with git (and by extension, as a -pre-commit hook), that can be run at any time for any reason. - -Usage ------ - -To lint only what's changed recently in your current working directory: - `git lint` - -To lint everything, changed or otherwise, from the current directory down: - `git lint -a` - -To lint what's changed from the repo's base: - `git lint -b` - -To lint what's in your staging directory: - `git lint -s` - - -Install -------- - - `pip install git-linter` - -You will need to copy the .git-lint configuration file to either your -home directory or the repo`s base directory. Edit the configuration -file as needed. You will also need any linters that you plan on -running. - - -Features --------- - -* Highly configurable - configuration files, both for git-lint and - individual linters, can be global or per-project. - -* Only checks files that have been changed, but this can be overriden - from the command line. - -* Can be used directly as a pre-commit hook, to ensure you personally - don't check in anything broken. - - * Used this way, it checks the *staging* area, not your workspace. - - * When using the staging area, it stashes your current work. Upon - restoration of your workspace, it ensures the timestamps are the - same, so as not to confuse your build system or IDE. - - -Acknowledgements ----------------- -`Git lint` started life as a simple pre-commit hook. Most of the -changes since were inspired by Steve Pulec's *`Why You Need a Git -Pre-Commit Hook and Why Most Are Wrong`_ ,* as well as just my own needs as -a software developer. - -.. _Why You Need a Git Pre-Commit Hook and Why Most Are Wrong: https://dzone.com/articles/why-your-need-git-pre-commit - - -Disclaimer ----------- - -This software, including provided configuration and documentation -materials, is provided "as is" without any warranties, including any -implied warranties of merchantability, fitness, performance, or -quality. In no event shall the author or sponsor be liable for any -special, direct, indirect, or consequential damages or any damages -whatsoever resulting from loss of use, data or profits, whether in an -action of contract, negligence or other tortious action, arising out -of or in connection with the use or performance of this software. -Each user of the program will agree and understand, and be deemed to -have agreed and understood, that there is no warranty whatsoever for -the program and, accordingly, the entire risk arising from or -otherwise connected with the program is assumed by the user. diff --git a/_modules/git_lint/reporters.html b/_modules/git_lint/reporters.html deleted file mode 100644 index eb41778..0000000 --- a/_modules/git_lint/reporters.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - git_lint.reporters — Git Lint 0.0.4 documentation - - - - - - - - - - - - - - -
-
-
-
- -

Source code for git_lint.reporters

-from __future__ import print_function
-from .git_lint import load_config, run_linters, git_base
-import operator
-import gettext
-_ = gettext.gettext
-
-
-
[docs]def base_file_cleaner(files): - return [file.replace(git_base + '/', '', 1) for file in files]
- - -# ICK. Mutation, references, and hidden assignment. -
[docs]def group_by(iterable, field_id): - results = [] - keys = {} - for obj in iterable: - key = obj[field_id] - if key in keys: - keys[key].append(obj) - continue - keys[key] = [obj] - results.append((key, keys[key])) - return results
- - - - - - - - - - - - - - -
- -
-
-
- -
-
- - - - \ No newline at end of file diff --git a/arguments.html b/arguments.html index 6825bd9..f50b0a5 100644 --- a/arguments.html +++ b/arguments.html @@ -6,9 +6,9 @@ - <no title> — Git Lint 0.0.4 documentation + <no title> — Git Lint 0.0.4 documentation - + - -