Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bitranox/igittigitt
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.5
Choose a base ref
...
head repository: bitranox/igittigitt
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Aug 14, 2020

  1. refractor

    bitranox committed Aug 14, 2020
    Copy the full SHA
    706d099 View commit details
  2. refractor

    bitranox committed Aug 14, 2020
    Copy the full SHA
    6e06fb7 View commit details
  3. Merge pull request #8 from bitranox/development

    v1.0.6
    bitranox authored Aug 14, 2020
    Copy the full SHA
    6c459da View commit details

Commits on Aug 15, 2020

  1. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    adc2074 View commit details
  2. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    58416b9 View commit details
  3. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    f60e27c View commit details
  4. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    97e031d View commit details
  5. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    8414f5a View commit details
  6. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    663f04c View commit details
  7. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    9ec1771 View commit details
  8. refractor

    bitranox committed Aug 15, 2020
    Copy the full SHA
    49fc50a View commit details
  9. Merge pull request #9 from bitranox/development

    v2.0.0
    bitranox authored Aug 15, 2020
    Copy the full SHA
    a43de08 View commit details

Commits on Sep 18, 2020

  1. refractor

    bitranox committed Sep 18, 2020
    Copy the full SHA
    f3c8a4d View commit details
  2. Merge pull request #11 from bitranox/development

    correct matching bug in subdirectories
    bitranox authored Sep 18, 2020
    Copy the full SHA
    103c9f6 View commit details
  3. refractor

    bitranox committed Sep 18, 2020
    Copy the full SHA
    7679117 View commit details
  4. Merge pull request #12 from bitranox/development

    correct matching bug in subdirectories
    bitranox authored Sep 18, 2020
    Copy the full SHA
    576ad1b View commit details
  5. refractor

    bitranox committed Sep 18, 2020
    Copy the full SHA
    b379bfa View commit details
  6. refractor

    bitranox committed Sep 18, 2020
    Copy the full SHA
    cc218da View commit details
  7. Merge pull request #13 from bitranox/development

    v2.0.1
    bitranox authored Sep 18, 2020
    Copy the full SHA
    9a726eb View commit details
  8. refractor

    bitranox committed Sep 18, 2020
    Copy the full SHA
    0b599d1 View commit details

Commits on Sep 20, 2020

  1. refractor

    bitranox committed Sep 20, 2020
    Copy the full SHA
    7ab8a2f View commit details
  2. refractor

    bitranox committed Sep 20, 2020
    Copy the full SHA
    f2cf950 View commit details
  3. Merge pull request #14 from bitranox/development

    v2.0.2
    bitranox authored Sep 20, 2020
    Copy the full SHA
    10accde View commit details
  4. refractor

    bitranox committed Sep 20, 2020
    Copy the full SHA
    2d61165 View commit details
  5. refractor

    bitranox committed Sep 20, 2020
    Copy the full SHA
    34ede3e View commit details
  6. refractor

    bitranox committed Sep 20, 2020
    Copy the full SHA
    897d28c View commit details
  7. refractor

    bitranox committed Sep 20, 2020
    Copy the full SHA
    bf6ff61 View commit details

Commits on Oct 9, 2020

  1. refractor

    bitranox committed Oct 9, 2020
    Copy the full SHA
    fd7194c View commit details
  2. refractor

    bitranox committed Oct 9, 2020
    Copy the full SHA
    194fdbc View commit details
  3. Copy the full SHA
    940a862 View commit details

Commits on Nov 15, 2020

  1. refractor

    bitranox committed Nov 15, 2020
    Copy the full SHA
    0071daf View commit details
  2. refractor

    bitranox committed Nov 15, 2020
    Copy the full SHA
    12a55b8 View commit details
  3. Merge pull request #17 from bitranox/development

    v2.0.4
    bitranox authored Nov 15, 2020
    Copy the full SHA
    bf391f0 View commit details

Commits on Jul 23, 2021

  1. Copy the full SHA
    539ae3d View commit details

Commits on Nov 16, 2021

  1. Merge pull request #23 from MapleCCC/patch-1

    Text was wrongly highlighted in bash syntax
    bitranox authored Nov 16, 2021
    Copy the full SHA
    730311a View commit details
  2. PR v2.0.5 (#26)

    * refractor
    
    * refractor
    
    * refractor
    
    * refractor
    
    * don't follow symlinks when matching against rules
    
    resolves #18
    
    * revert `IgnoreParser._parse_rule_file` 2 `parse_rule_file` as documented
    
    resolves #22
    
    * refractor
    
    * refractor
    
    Co-authored-by: Kyle Finley <kyle@finley.sh>
    bitranox and ITProKyle authored Nov 16, 2021
    Copy the full SHA
    c9c163d View commit details

Commits on Nov 18, 2021

  1. v2.1.0 Release (#27)

    bitranox authored Nov 18, 2021
    Copy the full SHA
    8f410e9 View commit details

Commits on Jun 25, 2022

  1. v2.1.2 (#29)

    * refractor
    
    * refractor
    
    * refractor
    
    * refractor
    
    * v2.1.1b
    -------
    2022-06-24:
        - set __all__ accordingly
        - point out limitations in Readme
        - integrate github actions
    
    * 2022-06-24:
        - set __all__ accordingly
        - point out limitations in Readme
        - integrate github actions
        - adjusting tests: patterns ending with a point can not match on windows
        - adressing invalid escape sequence '\ '
    
    * v2.1.1b
    -------
    2022-06-24:
        - set __all__ accordingly
        - point out limitations in Readme
        - integrate github actions
        - adjusting tests: patterns ending with a point can not match on windows
        - removing invalid escape sequences
    
    * v2.1.1b
    -------
    2022-06-24:
        - set __all__ accordingly
        - point out limitations in Readme
        - integrate github actions
    
    * v2.1.2
    -------
    2022-06-25:
        - set __all__ accordingly
        - point out limitations in Readme
        - integrate github actions
        - adjusting tests: patterns ending with a point can not match on windows
        - removing invalid escape sequences
        - match on paths with symlinks in their components
    bitranox authored Jun 25, 2022
    Copy the full SHA
    8b74301 View commit details

Commits on Jul 6, 2023

  1. introduce PEP517 installer

    bitranox committed Jul 6, 2023
    Copy the full SHA
    541eaf3 View commit details

Commits on Jul 13, 2023

  1. v2.1.3

    ---------
    2023-07-13:
        - require minimum python 3.8
        - remove python 3.7 tests
        - introduce PEP517 packaging standard
        - introduce pyproject.toml build-system
        - remove setup.cfg
        - remove setup.py
        - update black config
        - clean ./tests/test_cli.py
        - update black config
        - remove travis config
        - remove bettercodehub config
        - do not upload .egg files to pypi.org
        - update github actions : checkout@v3 and setup-python@v4
        - remove "better code" badges
        - remove python 3.6 tests
        - adding python 3.11 tests
        - update pypy tests to 3.9
    bitranox committed Jul 13, 2023
    Copy the full SHA
    9519041 View commit details
  2. v2.1.3

    ---------
    2023-07-13:
        - require minimum python 3.8
        - remove python 3.7 tests
        - introduce PEP517 packaging standard
        - introduce pyproject.toml build-system
        - remove setup.cfg
        - remove setup.py
        - update black config
        - clean ./tests/test_cli.py
        - update black config
        - remove travis config
        - remove bettercodehub config
        - do not upload .egg files to pypi.org
        - update github actions : checkout@v3 and setup-python@v4
        - remove "better code" badges
        - remove python 3.6 tests
        - adding python 3.11 tests
        - update pypy tests to 3.9
    bitranox committed Jul 13, 2023
    Copy the full SHA
    5a9bfe7 View commit details

Commits on Jul 14, 2023

  1. v2.1.4

    ---------
    2023-07-14:
        - add codeql badge
        - move 3rd_party_stubs outside the src directory to ``./.3rd_party_stubs``
        - add pypy 3.10 tests
        - add python 3.12-dev tests
    bitranox committed Jul 14, 2023
    Copy the full SHA
    78a5ee2 View commit details

Commits on Oct 16, 2024

  1. Copy the full SHA
    79c3022 View commit details
  2. v2.1.5

    ---------
    2024-10-16:
        - setup-python@v5
        - sigterm_handler for CLI
        - graalpy 24.1 tests
        - CODECOV_TOKEN
        - fix mypy error
    bitranox committed Oct 16, 2024
    Copy the full SHA
    95b9b5e View commit details
  3. Copy the full SHA
    0a89ecd View commit details

Commits on Jan 24, 2025

  1. change lib_sh

    bitranox committed Jan 24, 2025
    Copy the full SHA
    2b8c5e4 View commit details
  2. change lib_bash

    bitranox committed Jan 24, 2025
    Copy the full SHA
    38eacc1 View commit details
  3. change lib_bash

    bitranox committed Jan 24, 2025
    Copy the full SHA
    54ce818 View commit details
Showing with 2,434 additions and 1,131 deletions.
  1. +3 −3 {igittigitt/3rd_party_stubs → .3rd_party_stubs}/readme.txt
  2. +0 −6 .bettercodehub.yml
  3. +5 −5 .coveragerc
  4. +3 −3 .docs/README_template.rst
  5. +21 −10 .docs/badges.rst
  6. +2 −2 .docs/commandline_help.rst
  7. +91 −12 .docs/description.rst
  8. +7 −8 .docs/installation.rst
  9. +9 −1 .docs/installation_via_pypi.rst
  10. +2 −2 .docs/tested_under.rst
  11. +2 −2 .docs/try_in_jupyter.rst
  12. +44 −0 .docs/usage.rst
  13. +5 −0 .flake8
  14. +70 −0 .github/workflows/codeql-analysis.yml
  15. +272 −0 .github/workflows/python-package.yml
  16. +0 −217 .travis.yml
  17. +99 −7 CHANGES.rst
  18. +41 −47 CODE_OF_CONDUCT.md
  19. +1 −1 LICENSE
  20. +2 −0 Makefile
  21. +348 −51 README.rst
  22. +3 −12 conftest.py
  23. +12 −1 igittigitt/__init__.py
  24. +4 −2 igittigitt/__init__conf__.py
  25. +10 −0 igittigitt/conf_igittigitt.py
  26. +576 −244 igittigitt/igittigitt.py
  27. +59 −5 igittigitt/igittigitt_cli.py
  28. 0 igittigitt/py.typed
  29. +84 −2 pyproject.toml
  30. +4 −1 requirements.txt
  31. +4 −3 requirements_test.txt
  32. +0 −19 setup.cfg
  33. +0 −122 setup.py
  34. +105 −0 tests/default_pattern/.config/git/ignore
  35. +105 −0 tests/default_pattern/git/ignore
  36. +7 −0 tests/example/.test_gitignore
  37. +2 −0 tests/example/.test_gitignore_empty
  38. 0 tests/example/.test_venv/some_file.txt
  39. 0 tests/example/not_excluded.txt
  40. +2 −0 tests/example/not_excluded/.test_gitignore
  41. 0 tests/example/not_excluded/excluded/excluded.txt
  42. 0 tests/example/not_excluded/excluded_not.txt
  43. 0 tests/example/not_excluded/excluded_not/sub_excluded.txt
  44. 0 tests/example/not_excluded/not_excluded2.txt
  45. 0 tests/example/not_excluded/not_excluded2/sub_excluded.txt
  46. +5 −0 tests/example/test__pycache__/.test_gitignore
  47. 0 tests/example/test__pycache__/excluded/excluded/excluded.txt
  48. 0 tests/example/test__pycache__/some_file.txt
  49. +1 −0 tests/example/test__pycache__/test
  50. +1 −0 tests/example_negation/foo/bar/file.txt
  51. +1 −0 tests/example_negation/foo/other/file.txt
  52. +86 −22 tests/local_testscripts/lib_bash_functions.sh
  53. +12 −7 tests/local_testscripts/run_testloop.sh
  54. +61 −0 tests/local_testscripts/run_testloop_pytest_and_mypy_only_no_setup.sh
  55. +4 −5 tests/local_testscripts/shellcheck.sh
  56. +1 −1 tests/local_testscripts/testing_tools.py
  57. +3 −0 tests/target_expected/.test_gitignore
  58. 0 tests/target_expected/not_excluded.txt
  59. +1 −0 tests/target_expected/not_excluded/.test_gitignore
  60. 0 tests/target_expected/not_excluded/excluded_not.txt
  61. 0 tests/target_expected/not_excluded/not_excluded2.txt
  62. +9 −11 tests/test_cli.py
  63. +245 −131 tests/test_pytest.py
  64. +0 −26 travis_secrets/create_secrets.sh
  65. +0 −90 travis_secrets/create_secrets_bash_helpers.sh
  66. +0 −50 travis_secrets/shellcheck.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
put 3rd party stubs in this directory needed to pass mypy on travis.
put 3rd party stubs in this directory needed to pass mypy on Github Actions.

in the travis.yml the MYPYPATH is set to this directory.
in the Github Actions the MYPYPATH is set to this directory.

for local testing, put the *.pyi Files into another central directory and set the mypy path accordingly.
the reason for that is, that a certain *.pyi have to be only found once by mypy, otherwise it will throw an error.
@@ -17,6 +17,6 @@ the module "external_test" is used in project_a, and project_b, and package_a im
-- project_B ------- package_b_dir --- 3rd_party_stubs --- external_test.pyi


for travis test of project_A we need to set the MYPYPATH to .../projects/project_A/package_a_dir/3rd_party_stubs
for travis test of project_A we need to set the MYPYPATH to .../projects/project_A/3rd_party_stubs

for local tests, we need to set the MYPYPATH to .../projects/stub_directory , not to find external_test.pyi twice.
6 changes: 0 additions & 6 deletions .bettercodehub.yml

This file was deleted.

10 changes: 5 additions & 5 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -7,6 +7,11 @@
# (boolean, default False): whether to measure branch coverage in addition to statement coverage
branch = True

omit =
venv/*
tests/*
setup.py


[report]
# Regexes for lines to exclude from consideration
@@ -29,8 +34,3 @@ exclude_lines=

ignore_errors = True

omit =
venv/*
tests/*
setup.py
conf_igittigitt.py
6 changes: 3 additions & 3 deletions .docs/README_template.rst
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ igittigitt
==========


Version v1.0.5 as of 2020-08-14 see `Changelog`_
Version v2.1.5 as of 2024-10-16 see `Changelog`_


.. include:: ./badges.rst
@@ -11,10 +11,10 @@ Version v1.0.5 as of 2020-08-14 see `Changelog`_

----

automated tests, Travis Matrix, Documentation, Badges, etc. are managed with `PizzaCutter <https://github
automated tests, Github Actions, Documentation, Badges, etc. are managed with `PizzaCutter <https://github
.com/bitranox/PizzaCutter>`_ (cookiecutter on steroids)

Python version required: 3.6.0 or newer
Python version required: 3.8.0 or newer

.. include:: ./tested_under.rst

31 changes: 21 additions & 10 deletions .docs/badges.rst
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
|travis_build| |license| |jupyter| |pypi|
|build_badge| |codeql| |license| |jupyter| |pypi|
|pypi-downloads| |black| |codecov| |cc_maintain| |cc_issues| |cc_coverage| |snyk|

|codecov| |better_code| |cc_maintain| |cc_issues| |cc_coverage| |snyk|


.. |travis_build| image:: https://img.shields.io/travis/bitranox/igittigitt/master.svg
:target: https://travis-ci.org/bitranox/igittigitt
.. |build_badge| image:: https://github.com/bitranox/igittigitt/actions/workflows/python-package.yml/badge.svg
:target: https://github.com/bitranox/igittigitt/actions/workflows/python-package.yml


.. |codeql| image:: https://github.com/bitranox/igittigitt/actions/workflows/codeql-analysis.yml/badge.svg?event=push
:target: https://github.com//bitranox/igittigitt/actions/workflows/codeql-analysis.yml

.. |license| image:: https://img.shields.io/github/license/webcomics/pywine.svg
:target: http://en.wikipedia.org/wiki/MIT_License

.. |jupyter| image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/bitranox/igittigitt/master?filepath=igittigitt.ipynb
:target: https://mybinder.org/v2/gh/bitranox/igittigitt/master?filepath=igittigitt.ipynb

.. for the pypi status link note the dashes, not the underscore !
.. |pypi| image:: https://img.shields.io/pypi/status/igittigitt?label=PyPI%20Package
:target: https://badge.fury.io/py/igittigitt

.. |codecov| image:: https://img.shields.io/codecov/c/github/bitranox/igittigitt
.. badge until 2023-10-08:
.. https://img.shields.io/codecov/c/github/bitranox/igittigitt
.. badge from 2023-10-08:
.. |codecov| image:: https://codecov.io/gh/bitranox/igittigitt/graph/badge.svg
:target: https://codecov.io/gh/bitranox/igittigitt

.. |better_code| image:: https://bettercodehub.com/edge/badge/bitranox/igittigitt?branch=master
:target: https://bettercodehub.com/results/bitranox/igittigitt

.. |cc_maintain| image:: https://img.shields.io/codeclimate/maintainability-percentage/bitranox/igittigitt?label=CC%20maintainability
:target: https://codeclimate.com/github/bitranox/igittigitt/maintainability
:alt: Maintainability
@@ -34,5 +38,12 @@
:target: https://codeclimate.com/github/bitranox/igittigitt/test_coverage
:alt: Code Coverage

.. |snyk| image:: https://img.shields.io/snyk/vulnerabilities/github/bitranox/igittigitt
.. |snyk| image:: https://snyk.io/test/github/bitranox/igittigitt/badge.svg
:target: https://snyk.io/test/github/bitranox/igittigitt

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black

.. |pypi-downloads| image:: https://img.shields.io/pypi/dm/igittigitt
:target: https://pypi.org/project/igittigitt/
:alt: PyPI - Downloads
4 changes: 2 additions & 2 deletions .docs/commandline_help.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. code-block:: bash
.. code-block::
Usage: igittigitt [OPTIONS] COMMAND [ARGS]...
@@ -10,4 +10,4 @@
-h, --help Show this message and exit.
Commands:
info get program informations
info get program information
103 changes: 91 additions & 12 deletions .docs/description.rst
Original file line number Diff line number Diff line change
@@ -1,43 +1,122 @@
A spec-compliant gitignore parser for Python
- A spec-compliant gitignore parser for Python.
- IgittIgitt provides methods to intentionally ignore files and directories (usually to copy or distribute them).
- The patterns to define what should be ignored, are stored in "ignore" files, which are compatible with `git <https://git-scm.com/docs/gitignore#_pattern_format>`_.

forked from https://github.com/mherrmann/gitignore_parser we might join later ....

Limitations
-----------

Suppose `/home/michael/project/.gitignore` contains the following:
- at the current stage the parser is ok, as long as You dont use negations (ignore globs, which starts with "!")
- precedence levels are not supported correctly
- according to the manual, more nested ignore files have a higher precedence than less nested ignore files - this is currently
neither checked, nor supported correctly.
- sizelimit, hidden directories and other features might behave different from git
- some features are not implemented
- the limitations are somehow a result of the incomplete documentation at `git-scm.com <https://git-scm.com/docs/gitignore#_pattern_format>`_
- luckily there is a good explanation at `WalkBuilder <https://docs.rs/ignore/0.4.18/ignore/struct.WalkBuilder.html>`_ , so You can expect things
will get better over time

is it still useful ?
--------------------
- yes
- if You dont need negation rules, and dont rely on correct precedence of nested rule files, it will work just fine


Ignore rules - correct handling (currently not)
-----------------------------------------------
There are many rules that influence whether a particular file or directory is skipped.
Those rules are documented here. Note that the rules assume a default configuration.

1) glob overrides are checked. If a path matches a glob override, then matching stops.
- The path is then only skipped if the glob that matched the path is an ignore glob.
(An override glob is a whitelist glob unless it starts with a !, in which case it is an ignore glob.)

2) ignore files are checked.
- Ignore files currently only come from git ignore files
(.gitignore, .git/info/exclude and the configured global gitignore file),
plain .ignore files, which have the same format as gitignore files, or explicitly added ignore files.
- The precedence order is: .ignore, .gitignore, .git/info/exclude, global gitignore and finally
explicitly added ignore files.
- Note that precedence between different types of ignore files is not impacted by the directory hierarchy;
any .ignore file overrides all .gitignore files.
- Within each precedence level, more nested ignore files have a higher precedence than less nested
ignore files. (really ? check !)

3) - if the previous step yields an ignore match, then all matching is stopped and the path is skipped.
- if it yields a whitelist match, then matching continues, a whitelist match can be overridden by a later matcher.

4) - unless the path is a directory, the file type matcher is run on the path.
- as above, if it yields an ignore match, then all matching is stopped and the path is skipped.
- if it yields a whitelist match, then matching continues.

5) - if the path has not been whitelisted and it is hidden, then the path is skipped.

6) - unless the path is a directory, the size of the file is compared against the max filesize limit.
If it exceeds the limit, it is skipped.


Ignore rules - current handling (not spec compliant)
----------------------------------------------------

- no precedence levels are supported, rules are just sorted by length (which is terribly wrong if negation rules are used)
- all other points from above are not implemented


After reading (nesting supported) the `.gitignore` file, You can match files against the parsers match function. If the file should be ignored, it matches.
We also provide an ignore function for `shutil.treecopy` so it is easy just to copy a directory tree without the files which should be ignored.
A `match` indicates, that the file should be ignored.

Suppose `/home/bitranox/project/.gitignore` contains the following:

.. code-block:: python
# /home/michael/project/.gitignore
# /home/bitranox/project/.gitignore
__pycache__/
*.py[cod]
Then:

.. code-block:: python
>>> import igittigitt
>>> parser = igittigitt.IgnoreParser()
>>> parser.parse_rule_file(pathlib.Path('/home/michael/project/.gitignore'))
>>> parser.match(pathlib.Path('/home/michael/project/main.py'))
>>> parser.parse_rule_file(pathlib.Path('/home/bitranox/project/.gitignore'))
>>> parser.match(pathlib.Path('/home/bitranox/project/main.py'))
False
>>> parser.match(pathlib.Path('/home/michael/project/main.pyc'))
>>> parser.match(pathlib.Path('/home/bitranox/project/main.pyc'))
True
>>> parser.match(pathlib.Path('/home/michael/project/dir/main.pyc'))
>>> parser.match(pathlib.Path('/home/bitranox/project/dir/main.pyc'))
True
>>> parser.match(pathlib.Path('/home/michael/project/__pycache__'))
>>> parser.match(pathlib.Path('/home/bitranox/project/__pycache__'))
True
# copy the tree without the files which should be ignored by .gitignore
>>> shutil.copytree('/home/bitranox/project', '/home/bitranox/project2', ignore=parser.shutil_ignore)
Default Patterns
----------------
Patterns which a user wants Git to ignore in all situations (e.g., backup or temporary files generated by
the user’s editor of choice) can be put in a file, which location is configured via environment variables :

POSIX :
Its default value is $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore is used instead.

WINDOWS :
Its default value is %XDG_CONFIG_HOME%/git/ignore. If %XDG_CONFIG_HOME% is either not set or empty, %HOME%/.config/git/ignore is used instead.
If %HOME% is either not set or empty, %USERPROFILE%/git/ignore is used instead.

The Usage of the default Pattern can be disabled by setting `conf_igittigitt.add_default_patterns=False`

Motivation
----------
I couldn't find a good library for doing the above on PyPI. There are
several other libraries, but they don't seem to support all features,
be it the square brackets in `*.py[cod]` or top-level paths `/...`.

forked from https://github.com/mherrmann/gitignore_parser because I
need to move on faster ... we might join the projects again after stabilisation
inspired by https://github.com/mherrmann/gitignore_parser but in fact I needed to
throw away almost everything, because of serious matching bugs and unmaintainable spaghetti code.


igittigitt
----------
15 changes: 7 additions & 8 deletions .docs/installation.rst
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
- Before You start, its highly recommended to update pip and setup tools:
- Before You start, its highly recommended to update pip:


.. code-block:: bash
.. code-block::
python -m pip --upgrade pip
python -m pip --upgrade setuptools
.. include:: ./installation_via_pypi.rst

- to install the latest version from github via pip:


.. code-block:: bash
.. code-block::
python -m pip install --upgrade git+https://github.com/bitranox/igittigitt.git
- include it into Your requirements.txt:

.. code-block:: bash
.. code-block::
# Insert following line in Your requirements.txt:
# for the latest Release on pypi:
@@ -32,14 +31,14 @@
python -m pip install --upgrade -r /<path>/requirements.txt
- to install the latest development version from source code:
- to install the latest development version, including test dependencies from source code:

.. code-block:: bash
.. code-block::
# cd ~
$ git clone https://github.com/bitranox/igittigitt.git
$ cd igittigitt
python setup.py install
python -m pip install -e .[test]
.. include:: ./installation_via_makefile.rst
10 changes: 9 additions & 1 deletion .docs/installation_via_pypi.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
- to install the latest release from PyPi via pip (recommended):

.. code-block:: bash
.. code-block::
python -m pip install --upgrade igittigitt
- to install the latest release from PyPi via pip, including test dependencies:

.. code-block::
python -m pip install --upgrade igittigitt[test]
4 changes: 2 additions & 2 deletions .docs/tested_under.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
tested on linux "bionic" with python 3.6, 3.7, 3.8, 3.8-dev, pypy3 - architectures: amd64, ppc64le, s390x, arm64
tested on recent linux with python 3.8, 3.9, 3.10, 3.11, 3.12, pypy-3.9, pypy-3.10, graalpy-24.1 - architectures: amd64

`100% code coverage <https://codecov.io/gh/bitranox/igittigitt>`_, flake8 style checking ,tested under `Linux, macOS, Windows <https://travis-ci.org/bitranox/igittigitt>`_, automatic daily builds and monitoring
`100% code coverage <https://codeclimate.com/github/bitranox/igittigitt/test_coverage>`_, flake8 style checking ,mypy static type checking ,tested under `Linux, macOS, Windows <https://github.com/bitranox/igittigitt/actions/workflows/python-package.yml>`_, automatic daily builds and monitoring
4 changes: 2 additions & 2 deletions .docs/try_in_jupyter.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Try it Online
-------------

You might try it right away in Jupyter Notebook by using the "launch binder" badge, or click `here <https://mybinder.org/v2/gh/{{rst_include.
repository_slug}}/master?filepath=igittigitt.ipynb>`_
You might try it right away in Jupyter Notebook by using the "launch binder" badge,
or click `here <https://mybinder.org/v2/gh/bitranox/igittigitt/master?filepath=igittigitt.ipynb>`_
Loading