forked from gitpython-developers/GitPython
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit 91f967a
committed
Have tox skip linting unless requested, for now
This is to make it so simple `tox` usage has the expected property
of leaving all source code files in the working tree unchanged.
As noted in c66257e, linting how sometimes performs auto-fixes
since gitpython-developers#1862, and the pre-commit command in tox.ini, which had also
run `black --check`, will do even more file editing with gitpython-developers#1865.
The bifurcation for black into separate mutating and non-mutating
hooks, introduced in 5d8ddd9 (gitpython-developers#1693), is not carried over into Ruff
autoformatting in gitpython-developers#1865. But also it:
- Was not necessarily a good approach, and likely should not be
preserved in any form. It is an unusual and unintuitive use of
pre-commit. (It can be brought back if no better approach is
found, though.)
- Was done to avoid a situation where it was nontrivial to set up
necessary dependencies for linting in the GitPython virtual
environment itself, because flake8 and its various plugins would
have to be installed.
They were not listed in any existing or newly introduced extra
(for example, they were not added to test-requirements.txt) in
part in the hope that they would all be replaced by Ruff, which
happened in gitpython-developers#1862.
- Already does not achieve its goal since gitpython-developers#1862, since it was
(probably rightly) not extended to Ruff linting to use/omit --fix.
Now that Ruff is being used, people can run `pip install ruff` in a
virtual environment, then run the `ruff` command however they like.
This takes the place of multiple tools and plugins.
This commit *avoids* doing any of the following, even though it may
be useful to do them later:
- This does not give specific instructions in the readme for
installing and running ruff (and c66257e before this also omits
that). This can be added later and the best way to document it
may depend on some other upcoming decisions (see below).
- This does not add ruff to the test extra or as any other kind of
extra or optional dependency. Although the test extra currently
contains some packages not used for running unit tests, such as
pre-commit and mypy, adding Ruff will cause installation to take
a long time and/or or fail on some platforms like Cygwin where
Ruff has to be built from (Rust) source code. This can be solved
properly by reorganizing the extras, but that is likely to wait
until they are expressed completely inside pyproject.toml rather
than one per requirements file (see discussion in comments
in gitpython-developers#1716 for general information about possible forthcoming
changes in how the project is defined).
- This does not update tox.ini to run ruff directly, which could be
done by splitting the current lint tox environment into two or
three environments for Python linting, Python autoformatting, and
the miscellaneous other tasks performed by pre-commit hooks, only
the latter of which would use the pre-commit command. Whether and
how this should be done may depend on other forthcoming changes.
- This does not remove or update the Makefile "lint" target. That
target should perhaps not have been added, and was always meant
to be improved/replaced, since everything else in the top-level
Makefile is for building and publishing releases. See 5d15063
(gitpython-developers#1693). This is likewise not done now since it may depend on
as-yet unmerged changes and tooling decisions not yet made. It
should be feasible to do together when further updating tox.ini.
- This does not update tox.ini, Makefile, or the lint.yml GitHub
Actions workflow to omit the manual hook-stage, which will be
unused as of gitpython-developers#1865. This would complicate integration of changes,
and once it is known that it won't be needed, it can removed.
The situation with the tox "lint" environment is thus now similar
to that of the tox "html" environment when it was added in e6ec6c8
(gitpython-developers#1667), until it was improved in f094909 (gitpython-developers#1693) to run with
proper isolation.1 parent c66257e commit 91f967aCopy full SHA for 91f967a
1 file changed
+1
-1
lines changed+1-1
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | 2 |
| |
3 |
| - | |
| 3 | + | |
4 | 4 |
| |
5 | 5 |
| |
6 | 6 |
| |
|
0 commit comments