From 2aafae2db26f4144fc6837b76e7280c325918cce Mon Sep 17 00:00:00 2001 From: "Kenneth M. Elf Sternberg" Date: Mon, 3 Oct 2016 13:31:59 -0700 Subject: [PATCH] github doesn't like underscores. --- arguments.html | 10 +- arguments.html.bak | 126 ++++++++++++++++ authors.html | 10 +- authors.html.bak | 134 +++++++++++++++++ contributing.html | 10 +- contributing.html.bak | 239 ++++++++++++++++++++++++++++++ genindex.html | 10 +- genindex.html.bak | 333 ++++++++++++++++++++++++++++++++++++++++++ git_lint.html | 10 +- git_lint.html.bak | 317 ++++++++++++++++++++++++++++++++++++++++ history.html | 10 +- history.html.bak | 122 ++++++++++++++++ index.html.bak | 160 ++++++++++++++++++++ installation.html | 10 +- installation.html.bak | 152 +++++++++++++++++++ manual.html | 10 +- manual.html.bak | 187 ++++++++++++++++++++++++ modules.html | 10 +- modules.html.bak | 108 ++++++++++++++ py-modindex.html | 12 +- py-modindex.html.bak | 126 ++++++++++++++++ readme.html | 10 +- readme.html.bak | 202 +++++++++++++++++++++++++ search.html | 12 +- search.html.bak | 105 +++++++++++++ strategies.html | 10 +- strategies.html.bak | 142 ++++++++++++++++++ usage.html | 10 +- usage.html.bak | 159 ++++++++++++++++++++ 29 files changed, 2684 insertions(+), 72 deletions(-) create mode 100644 arguments.html.bak create mode 100644 authors.html.bak create mode 100644 contributing.html.bak create mode 100644 genindex.html.bak create mode 100644 git_lint.html.bak create mode 100644 history.html.bak create mode 100644 index.html.bak create mode 100644 installation.html.bak create mode 100644 manual.html.bak create mode 100644 modules.html.bak create mode 100644 py-modindex.html.bak create mode 100644 readme.html.bak create mode 100644 search.html.bak create mode 100644 strategies.html.bak create mode 100644 usage.html.bak diff --git a/arguments.html b/arguments.html index 2ac4484..6825bd9 100644 --- a/arguments.html +++ b/arguments.html @@ -8,8 +8,8 @@ <no title> — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/arguments.html.bak b/arguments.html.bak new file mode 100644 index 0000000..2ac4484 --- /dev/null +++ b/arguments.html.bak @@ -0,0 +1,126 @@ + + + + + + + + <no title> — Git Lint 0.0.4 documentation + + + + + + + + + + + + + +
+
+
+
+ +
+
-o <linters>, –only=<linters>
+
A comma-separated list of only those linters to run.
+
-x <linters> –exclude=<linters>
+
A comma-separated list of linters to skip.
+
-l, –linters
+
Show the list of configured linters.
+
-b, –base
+
Check all changed files from GIT_DIR, not just those in the current directory and down.
+
-a, –all
+
Scan all files, not just those that have changed.
+
-e, –every
+
Scan all files, not just those that have changed, from GIT_DIR. Short for -b -a
+
-w, –workspace
+
Scan the workspace [default]
+
-s, –staging
+
Scan the staging area (useful for pre-commit).
+
-c <path>, –config=<path>
+
Path to config file
+
-t, –bylinter
+
Group reports by linter first as they appear in the config file [default]
+
-f, –byfile
+
Group reports by file first, linter second
+
-d, –dryrun
+
Report what git-lint would do, but don’t actually do anything.
+
-q, –quiet
+
Produce a short report of file that failed to pass.
+
-h, –help
+
Print a short help message
+
-V, –verbose
+
Print a slightly more verbose long report
+
-v, –version
+
Print version information
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/authors.html b/authors.html index dc880de..8283a92 100644 --- a/authors.html +++ b/authors.html @@ -8,8 +8,8 @@ Credits — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/authors.html.bak b/authors.html.bak new file mode 100644 index 0000000..dc880de --- /dev/null +++ b/authors.html.bak @@ -0,0 +1,134 @@ + + + + + + + + Credits — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Credits

+
+

Development Lead

+ +
+
+

Contributors

+

None yet. Why not be the first?

+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/contributing.html b/contributing.html index d1c35f0..2866921 100644 --- a/contributing.html +++ b/contributing.html @@ -8,8 +8,8 @@ Contributing — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/contributing.html.bak b/contributing.html.bak new file mode 100644 index 0000000..d1c35f0 --- /dev/null +++ b/contributing.html.bak @@ -0,0 +1,239 @@ + + + + + + + + Contributing — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Contributing

+

Contributions are welcome, and they are greatly appreciated! Every +little bit helps, and credit will always be given.

+

You can contribute in many ways:

+
+

Types of Contributions

+
+

Report Bugs

+

Report bugs at https://github.com/elfsternberg/git_lint/issues.

+

If you are reporting a bug, please include:

+
    +
  • Your operating system name and version.
  • +
  • Any details about your local setup that might be helpful in troubleshooting.
  • +
  • Detailed steps to reproduce the bug.
  • +
+
+
+

Fix Bugs

+

Look through the GitHub issues for bugs. Anything tagged with “bug” +is open to whoever wants to implement it.

+
+
+

Implement Features

+

Look through the GitHub issues for features. Anything tagged with “feature” +is open to whoever wants to implement it.

+
+
+

Write Documentation

+

Git Lint could always use more documentation, whether as part of the +official Git Lint docs, in docstrings, or even on the web in blog posts, +articles, and such.

+
+
+

Submit Feedback

+

The best way to send feedback is to file an issue at https://github.com/elfsternberg/git_lint/issues.

+

If you are proposing a feature:

+
    +
  • Explain in detail how it would work.
  • +
  • Keep the scope as narrow as possible, to make it easier to implement.
  • +
  • Remember that this is a volunteer-driven project, and that contributions +are welcome :)
  • +
+
+
+
+

Get Started!

+

Ready to contribute? Here’s how to set up git_lint for local development.

+
    +
  1. Fork the git_lint repo on GitHub.

    +
  2. +
  3. Clone your fork locally:

    +
    $ git clone git@github.com:your_name_here/git_lint.git
    +
    +
    +
  4. +
  5. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:

    +
    $ mkvirtualenv git_lint
    +$ cd git_lint/
    +$ python setup.py develop
    +
    +
    +
  6. +
  7. Create a branch for local development:

    +
    $ git checkout -b name-of-your-bugfix-or-feature
    +
    +
    +

    Now you can make your changes locally.

    +
  8. +
  9. When you’re done making changes, check that your changes pass flake8 and the tests, including testing other Python versions with tox:

    +
    $ flake8 git_lint tests
    +$ python setup.py test or py.test
    +$ tox
    +
    +
    +

    To get flake8 and tox, just pip install them into your virtualenv.

    +
  10. +
  11. Commit your changes and push your branch to GitHub:

    +
    $ git add .
    +$ git commit -m "Your detailed description of your changes."
    +$ git push origin name-of-your-bugfix-or-feature
    +
    +
    +
  12. +
  13. Submit a pull request through the GitHub website.

    +
  14. +
+
+
+

Pull Request Guidelines

+

Before you submit a pull request, check that it meets these guidelines:

+
    +
  1. The pull request should include tests.
  2. +
  3. If the pull request adds functionality, the docs should be updated. Put +your new functionality into a function with a docstring, and add the +feature to the list in README.rst.
  4. +
  5. The pull request should work for Python 2.6, 2.7, 3.3, 3.4 and 3.5, and for PyPy. Check +https://travis-ci.org/elfsternberg/git_lint/pull_requests +and make sure that the tests pass for all supported Python versions.
  6. +
+
+
+

Tips

+

To run a subset of tests:

+
$ py.test tests.test_git_lint
+
+
+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/genindex.html b/genindex.html index cd199ef..3a20612 100644 --- a/genindex.html +++ b/genindex.html @@ -9,8 +9,8 @@ Index — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/genindex.html.bak b/genindex.html.bak new file mode 100644 index 0000000..cd199ef --- /dev/null +++ b/genindex.html.bak @@ -0,0 +1,333 @@ + + + + + + + + + Index — Git Lint 0.0.4 documentation + + + + + + + + + + + + + +
+
+
+
+ + +

Index

+ +
+ B + | C + | D + | E + | F + | G + | L + | M + | P + | R + | S + | W + +
+

B

+ + +
+ +
base_file_cleaner() (in module git_lint.reporters) +
+ +
+ +

C

+ + +
+ +
cleanup_options() (in module git_lint.option_handler) +
+ +
+ +

D

+ + +
+ +
dryrun() (git_lint.git_lint.Linters method) +
+ +
+ +

E

+ + + +
+ +
encode_shell_messages() (git_lint.git_lint.Linters static method) +
+ +
+ +
executable_exists() (in module git_lint.git_lint) +
+ +
+ +

F

+ + +
+ +
find_config_file() (in module git_lint.git_lint) +
+ +
+ +

G

+ + + +
+ +
get_filelist() (in module git_lint.git_lint) +
+ + +
get_git_base() (in module git_lint.git_lint) +
+ + +
get_git_head() (in module git_lint.git_lint) +
+ + +
get_git_response() (in module git_lint.git_lint) +
+ + +
get_git_response_raw() (in module git_lint.git_lint) +
+ + +
get_linter_status() (in module git_lint.git_lint) +
+ + +
get_shell_response() (in module git_lint.git_lint) +
+ +
+ +
get_working_linter_names() (in module git_lint.git_lint) +
+ + +
git_lint (module) +
+ + +
git_lint.git_lint (module) +
+ + +
git_lint.option_handler (module) +
+ + +
git_lint.options (module) +
+ + +
git_lint.reporters (module) +
+ + +
group_by() (in module git_lint.reporters) +
+ +
+ +

L

+ + + +
+ +
Linters (class in git_lint.git_lint) +
+ +
+ +
load_config() (in module git_lint.git_lint) +
+ +
+ +

M

+ + + +
+ +
make_match_filter_matcher() (git_lint.git_lint.MatchFilter static method) +
+ +
+ +
MatchFilter (class in git_lint.git_lint) +
+ +
+ +

P

+ + + +
+ +
print_help() (in module git_lint.reporters) +
+ + +
print_linters() (in module git_lint.reporters) +
+ +
+ +
print_report() (in module git_lint.reporters) +
+ + +
print_version() (in module git_lint.reporters) +
+ +
+ +

R

+ + + +
+ +
run_external_linter() (git_lint.git_lint.Linters static method) +
+ + +
run_git_command() (in module git_lint.git_lint) +
+ +
+ +
run_linters() (in module git_lint.git_lint) +
+ + +
run_one_linter() (git_lint.git_lint.Linters static method) +
+ +
+ +

S

+ + + +
+ +
split_git_response() (in module git_lint.git_lint) +
+ +
+ +
StagingRunner (class in git_lint.git_lint) +
+ +
+ +

W

+ + +
+ +
WorkspaceRunner (class in git_lint.git_lint) +
+ +
+ + + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/git_lint.html b/git_lint.html index 2bb9d6a..628c383 100644 --- a/git_lint.html +++ b/git_lint.html @@ -8,8 +8,8 @@ git_lint package — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/git_lint.html.bak b/git_lint.html.bak new file mode 100644 index 0000000..2bb9d6a --- /dev/null +++ b/git_lint.html.bak @@ -0,0 +1,317 @@ + + + + + + + + git_lint package — Git Lint 0.0.4 documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

git_lint package

+
+

Submodules

+
+
+

git_lint.git_lint module

+
+
+class git_lint.git_lint.Linters(linters, filenames)[source]
+
+
+dryrun()[source]
+
+ +
+
+static encode_shell_messages(prefix, messages)[source]
+
+ +
+
+static run_external_linter(filename, linter, linter_name)[source]
+

Run one linter against one file.

+

If the result matches the error condition specified in the configuration file, +return the error code and messages, otherwise return nothing.

+
+ +
+
+static run_one_linter(linter, filenames)[source]
+

Runs one linter against a set of files

+

Creates a match filter for the linter, extract the files to be +linted, and runs the linter against each file, returning the +result as a list of successes and failures. Failures have a +return code and the output of the lint process.

+
+ +
+ +
+
+class git_lint.git_lint.MatchFilter(config)[source]
+
+
+static make_match_filter_matcher(extensions)[source]
+
+ +
+ +
+
+class git_lint.git_lint.StagingRunner(filenames)[source]
+
+ +
+
+class git_lint.git_lint.WorkspaceRunner(filenames)[source]
+

Bases: object

+
+ +
+
+git_lint.git_lint.executable_exists(script, label)[source]
+
+ +
+
+git_lint.git_lint.find_config_file(options, base)[source]
+

Returns the configuration file from a prioritized list of locations.

+
+
Locations are prioritized as:
+
    +
  1. From the command line. Fail if specified but not found
  2. +
  3. The repository’s root directory, as the file .git-lint
  4. +
  5. The repository’s root directory, as the file .git-lint/config
  6. +
  7. The user’s home directory, as file .git-lint
  8. +
  9. The user’s home directory, as the file .git-lint/config
  10. +
+
+
+

If no configuration file is found, this is an error.

+
+ +
+
+git_lint.git_lint.get_filelist(options, extras)[source]
+

Returns the list of files against which we’ll run the linters.

+
+ +
+
+git_lint.git_lint.get_git_base()[source]
+
+ +
+
+git_lint.git_lint.get_git_head()[source]
+
+ +
+
+git_lint.git_lint.get_git_response(cmd)[source]
+
+ +
+
+git_lint.git_lint.get_git_response_raw(cmd)[source]
+
+ +
+
+git_lint.git_lint.get_linter_status(config)[source]
+
+ +
+
+git_lint.git_lint.get_shell_response(fullcmd)[source]
+
+ +
+
+git_lint.git_lint.get_working_linter_names(config)[source]
+
+ +
+
+git_lint.git_lint.load_config(options, base)[source]
+

Loads the git-lint configuration file.

+

Returns the configuration file as a dictionary of dictionaries. +Performs substitutions as specified in the SafeConfigParser +specification; the only one performed currently is the ‘repodir’ +will be replaced with the base directory of the repository. +Combined with the option to specify the .git-lint configuration as +a directory, this allows users to keep per-project configuration +files for specific linters.

+
+ +
+
+git_lint.git_lint.run_git_command(cmd)[source]
+
+ +
+
+git_lint.git_lint.run_linters(options, config, extras=[])[source]
+
+ +
+
+git_lint.git_lint.split_git_response(cmd)[source]
+
+ +
+
+

git_lint.option_handler module

+
+
+git_lint.option_handler.cleanup_options(options, commandline)[source]
+
+
Takes a table of options and the commandline, and returns a
+
dictionary of those options that appear on the commandline +along with any extra arguments.
+
:param List(Tuple (string, string, boolean, string, List(string))) options,
+
The table of options: One-letter option, long option, takes arguments, +Help text, list of (long) options superseded by this one.
+
: param List(strings) commandline
+
The arguments as received by the start-up process
+
+
+ +
+
+

git_lint.options module

+
+
+

git_lint.reporters module

+
+
+git_lint.reporters.base_file_cleaner(files)[source]
+
+ +
+
+git_lint.reporters.group_by(iterable, field_id)[source]
+
+ +
+
+git_lint.reporters.print_help(options, name)[source]
+
+ +
+
+git_lint.reporters.print_linters(config, broken_linter_names)[source]
+
+ +
+
+git_lint.reporters.print_report(results, unlintable_filenames, cant_lint_filenames, broken_linter_names, unfindable_filenames, options={'bylinter': True})[source]
+
+ +
+
+git_lint.reporters.print_version(name, version)[source]
+
+ +
+
+

Module contents

+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/history.html b/history.html index 3244c3f..0e5a3d9 100644 --- a/history.html +++ b/history.html @@ -8,8 +8,8 @@ History — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/history.html.bak b/history.html.bak new file mode 100644 index 0000000..3244c3f --- /dev/null +++ b/history.html.bak @@ -0,0 +1,122 @@ + + + + + + + + History — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

History

+
+

0.0.2 (2015-05-22)

+

Pre-commit version

+
+
+

0.0.04 (2016-09-26)

+

Moved to “git lint” and optioned the hell out of it.

+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/index.html.bak b/index.html.bak new file mode 100644 index 0000000..1feb387 --- /dev/null +++ b/index.html.bak @@ -0,0 +1,160 @@ + + + + + + + + Welcome to Git Lint’s documentation! — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + +
+ + +
+
+ + + + diff --git a/installation.html b/installation.html index 7ec0c4d..3691de9 100644 --- a/installation.html +++ b/installation.html @@ -8,8 +8,8 @@ Installation — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/installation.html.bak b/installation.html.bak new file mode 100644 index 0000000..7ec0c4d --- /dev/null +++ b/installation.html.bak @@ -0,0 +1,152 @@ + + + + + + + + Installation — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Installation

+
+

Stable release

+

To install Git Lint, run this command in your terminal:

+
$ pip install git_linter
+
+
+

If you don’t have pip installed, this Python installation guide can guide +you through the process.

+
+
+

From sources

+

The sources for Git Lint can be downloaded from the Github repo.

+

You can either clone the public repository:

+
$ git clone git://github.com/elfsternberg/git_linter
+
+
+

Or download the tarball:

+
$ curl  -OL https://github.com/elfsternberg/git_linter/tarball/master
+
+
+

Once you have a copy of the source, you can install it with:

+
$ python setup.py install
+
+
+

Once installed, please copy the ‘.git-lint’ example file. You may install this either in +your home directory as .git-lint or in your project’s git directory as +.git/lint/git-lint

+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/manual.html b/manual.html index 7ea720e..d665dfe 100644 --- a/manual.html +++ b/manual.html @@ -8,8 +8,8 @@ git-lint(1) — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/manual.html.bak b/manual.html.bak new file mode 100644 index 0000000..7ea720e --- /dev/null +++ b/manual.html.bak @@ -0,0 +1,187 @@ + + + + + + + + git-lint(1) — Git Lint 0.0.4 documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

git-lint(1)

+
+

NAME

+

git-lint - Run configured linters against changed files

+
+
+

SYNOPSIS

+

[verse] +git lint [<options>...] [<files...>]

+
+
+

DESCRIPTION

+

Runs a list of configured linters against a specified list of files in +your repository. By default all linters will be run against the +changed files in your current workspace, from the current working +directory on down. Command line options let you choose a different +directory, a different of files, the complete set of files, and even +the files currently in the staging area.

+
+
+

OPTIONS

+
+
-o <linters>, –only=<linters>
+
A comma-separated list of only those linters to run.
+
-x <linters> –exclude=<linters>
+
A comma-separated list of linters to skip.
+
-l, –linters
+
Show the list of configured linters.
+
-b, –base
+
Check all changed files from GIT_DIR, not just those in the current directory and down.
+
-a, –all
+
Scan all files, not just those that have changed.
+
-e, –every
+
Scan all files, not just those that have changed, from GIT_DIR. Short for -b -a
+
-w, –workspace
+
Scan the workspace [default]
+
-s, –staging
+
Scan the staging area (useful for pre-commit).
+
-c <path>, –config=<path>
+
Path to config file
+
-t, –bylinter
+
Group reports by linter first as they appear in the config file [default]
+
-f, –byfile
+
Group reports by file first, linter second
+
-d, –dryrun
+
Report what git-lint would do, but don’t actually do anything.
+
-q, –quiet
+
Produce a short report of file that failed to pass.
+
-h, –help
+
Print a short help message
+
-V, –verbose
+
Print a slightly more verbose long report
+
-v, –version
+
Print version information
+
+
+
+

OUTPUT

+

By default, the output is that of all the linters specified, in the +order in which they appear in the configuration file, followed by +every file specified, sorted ASCIIbetically. This order can be +flipped (files first, then linters) with the --byfiles option.

+

git lint returns the maximal error code if any linters fail a +pass, or zero if they all succeed.

+
+
+

CONFIGURATION

+

git lint uses a standard INI-style configuration file. Aside from the +DEFAULT section, the name of each section is an alphanumeric token name for +a linter, followed by configuration details for that linter. Standard details +are:

+
    +
  • output - Text to print before running a linter.
  • +
  • command - The actual command to run, minus the file path
  • +
  • match - A comma-separated list of extensions to match against the linter
  • +
  • print - If true, will prefix each line of output from the linter with the filename
  • +
  • condition - if “error”, the return code of the linter is the status of the pass. If “output,” any output will result in a failure.
  • +
  • comment - Text to include when running the --linters option
  • +
+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/modules.html b/modules.html index 7150681..b5da760 100644 --- a/modules.html +++ b/modules.html @@ -8,8 +8,8 @@ git_lint — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/modules.html.bak b/modules.html.bak new file mode 100644 index 0000000..7150681 --- /dev/null +++ b/modules.html.bak @@ -0,0 +1,108 @@ + + + + + + + + git_lint — Git Lint 0.0.4 documentation + + + + + + + + + + + + + +
+ + +
+
+ + + + \ No newline at end of file diff --git a/py-modindex.html b/py-modindex.html index 2f44bc1..6bce60b 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -8,8 +8,8 @@ Python Module Index — Git Lint 0.0.4 documentation - - + + - - - + + + @@ -59,7 +59,7 @@ g - git_lint diff --git a/py-modindex.html.bak b/py-modindex.html.bak new file mode 100644 index 0000000..2f44bc1 --- /dev/null +++ b/py-modindex.html.bak @@ -0,0 +1,126 @@ + + + + + + + + Python Module Index — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + + + +
+
+
+
+ + +

Python Module Index

+ +
+ g +
+ + + + + + + + + + + + + + + + + + + +
 
+ g
+ git_lint +
    + git_lint.git_lint +
    + git_lint.option_handler +
    + git_lint.options +
    + git_lint.reporters +
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/readme.html b/readme.html index 19e5361..1e37158 100644 --- a/readme.html +++ b/readme.html @@ -8,8 +8,8 @@ Git Lint: README — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/readme.html.bak b/readme.html.bak new file mode 100644 index 0000000..19e5361 --- /dev/null +++ b/readme.html.bak @@ -0,0 +1,202 @@ + + + + + + + + Git Lint: README — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

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.

+
+
+

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.

+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/search.html b/search.html index 2d19018..9b8a8ed 100644 --- a/search.html +++ b/search.html @@ -8,8 +8,8 @@ Search — Git Lint 0.0.4 documentation - - + + - - - - + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Search

+
+ +

+ Please activate JavaScript to enable the search + functionality. +

+
+

+ From here you can search these documents. Enter your search + words into the box below and click "search". Note that the search + function will automatically search for all of the words. Pages + containing fewer words won't appear in the result list. +

+
+ + + +
+ +
+ +
+ +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/strategies.html b/strategies.html index c9d2917..1f2044f 100644 --- a/strategies.html +++ b/strategies.html @@ -8,8 +8,8 @@ Strategies — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/strategies.html.bak b/strategies.html.bak new file mode 100644 index 0000000..c9d2917 --- /dev/null +++ b/strategies.html.bak @@ -0,0 +1,142 @@ + + + + + + + + Strategies — Git Lint 0.0.4 documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

Strategies

+

git-lint has a couple of phases in which it develops its strategy for what to run:

+
    +
  1. Load the configuration file. +a. On the command line? +b. In the base directory as .git-lint? +c. In the base directory as .git-lint/config? +d. In the user’s home directory as .git-lint? +e. In the user’s home directroy as .git-lint/config?

    +
  2. +
  3. Prune configuration with -o or -e options

    +
  4. +
  5. Determine which files to lint. +a. Workspace or staging?

    +
    +
      +
    1. If staging, record all stashed timestamps for restoration
    2. +
    +
    +
      +
    1. +
      From this list:
      +
        +
      1. All changed files -b
      2. +
      3. All changed files in the current directory and down (default)
      4. +
      5. All files in the current directory and down. -a
      6. +
      7. All files in the repository -a -b
      8. +
      +
      +
      +
    2. +
    3. Add files from command line, if any.

      +
    4. +
    5. Filter based on match criteria in configuration file.

      +
    6. +
    +
  6. +
  7. For each file, run the appropriate linter. +a. If in delta mode -d, only show differences that correspond to user changes. +b. Capture failure output and failure status.

    +
  8. +
  9. Reduce failure status to pass/fail

    +
  10. +
  11. Print resulting messages and exit with failure status (for pre-commit).

    +
  12. +
  13. If staging, unstage and touch-up files to restore timestamps.

    +
  14. +
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/usage.html b/usage.html index cabc53f..c8d2adc 100644 --- a/usage.html +++ b/usage.html @@ -8,8 +8,8 @@ Usage — Git Lint 0.0.4 documentation - - + + - - - + + + diff --git a/usage.html.bak b/usage.html.bak new file mode 100644 index 0000000..cabc53f --- /dev/null +++ b/usage.html.bak @@ -0,0 +1,159 @@ + + + + + + + + Usage — Git Lint 0.0.4 documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Usage

+
+

Command Line

+ +

git lint [options] [filenames]

+
+ +
+

As a pre-commit hook:

+
#!/usr/bin/env python
+import git_lint
+git_lint.run_precommit(staging = True, timestamps = True)
+
+
+

Install this file in your project’s .git/hooks/pre-commit, and set +the file’s executable flag to true:

+
chmod +x pre-commit
+
+
+

Please see the api for more details on options taken by the +run_precommit() and run_gitlint commands.

+

There is an example pre-commit script shipped with git lint.

+
+
+ + +
+
+
+ +
+
+ + + + \ No newline at end of file