ignore-python 0.3.2__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ignore_python-0.4.0/.github/dependabot.yml +15 -0
- {ignore_python-0.3.2 → ignore_python-0.4.0}/.github/workflows/CI.yml +68 -57
- {ignore_python-0.3.2 → ignore_python-0.4.0}/Cargo.lock +34 -84
- {ignore_python-0.3.2 → ignore_python-0.4.0}/Cargo.toml +3 -3
- {ignore_python-0.3.2 → ignore_python-0.4.0}/LICENSE.txt +1 -1
- {ignore_python-0.3.2 → ignore_python-0.4.0}/PKG-INFO +11 -4
- {ignore_python-0.3.2 → ignore_python-0.4.0}/README.md +8 -1
- {ignore_python-0.3.2 → ignore_python-0.4.0}/ignore/__init__.pyi +3 -27
- {ignore_python-0.3.2 → ignore_python-0.4.0}/ignore/overrides/__init__.pyi +0 -4
- ignore_python-0.4.0/prek.toml +36 -0
- {ignore_python-0.3.2 → ignore_python-0.4.0}/pyproject.toml +7 -2
- {ignore_python-0.3.2 → ignore_python-0.4.0}/src/lib.rs +15 -14
- ignore_python-0.3.2/tests/test_root.py → ignore_python-0.4.0/tests/root_test.py +22 -21
- {ignore_python-0.3.2 → ignore_python-0.4.0}/.github/workflows/docs.yml +0 -0
- {ignore_python-0.3.2 → ignore_python-0.4.0}/.gitignore +0 -0
- {ignore_python-0.3.2 → ignore_python-0.4.0}/ignore/__init__.py +0 -0
- {ignore_python-0.3.2 → ignore_python-0.4.0}/ignore/overrides/py.typed +0 -0
- {ignore_python-0.3.2 → ignore_python-0.4.0}/ignore/py.typed +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "cargo" # See documentation for possible values
|
|
9
|
+
directory: "/" # Location of package manifests
|
|
10
|
+
schedule:
|
|
11
|
+
interval: "weekly"
|
|
12
|
+
- package-ecosystem: "pip" # See documentation for possible values
|
|
13
|
+
directory: "/" # Location of package manifests
|
|
14
|
+
schedule:
|
|
15
|
+
interval: "weekly"
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
# This file is autogenerated by maturin v1.
|
|
1
|
+
# This file is autogenerated by maturin v1.14.1
|
|
2
2
|
# To update, run
|
|
3
3
|
#
|
|
4
|
-
# maturin generate-ci github
|
|
4
|
+
# maturin generate-ci github
|
|
5
5
|
#
|
|
6
6
|
name: CI
|
|
7
7
|
|
|
8
8
|
on:
|
|
9
9
|
push:
|
|
10
10
|
branches:
|
|
11
|
-
-
|
|
11
|
+
- main
|
|
12
|
+
- master
|
|
12
13
|
tags:
|
|
13
14
|
- '*'
|
|
14
15
|
pull_request:
|
|
@@ -36,10 +37,10 @@ jobs:
|
|
|
36
37
|
- runner: ubuntu-22.04
|
|
37
38
|
target: ppc64le
|
|
38
39
|
steps:
|
|
39
|
-
- uses: actions/checkout@
|
|
40
|
-
- uses: actions/setup-python@
|
|
40
|
+
- uses: actions/checkout@v6
|
|
41
|
+
- uses: actions/setup-python@v6
|
|
41
42
|
with:
|
|
42
|
-
python-version: 3.
|
|
43
|
+
python-version: "3.9"
|
|
43
44
|
- name: Build wheels
|
|
44
45
|
uses: PyO3/maturin-action@v1
|
|
45
46
|
with:
|
|
@@ -48,34 +49,39 @@ jobs:
|
|
|
48
49
|
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
49
50
|
manylinux: auto
|
|
50
51
|
- name: Upload wheels
|
|
51
|
-
uses: actions/upload-artifact@
|
|
52
|
+
uses: actions/upload-artifact@v6
|
|
52
53
|
with:
|
|
53
54
|
name: wheels-linux-${{ matrix.platform.target }}
|
|
54
55
|
path: dist
|
|
56
|
+
- uses: astral-sh/setup-uv@v7
|
|
57
|
+
if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
|
|
55
58
|
- name: pytest
|
|
56
59
|
if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
|
|
57
60
|
shell: bash
|
|
58
61
|
run: |
|
|
59
62
|
set -e
|
|
60
|
-
|
|
63
|
+
uv venv .venv
|
|
61
64
|
source .venv/bin/activate
|
|
62
|
-
pip install ignore-python --
|
|
63
|
-
pip install pytest
|
|
65
|
+
uv pip install ignore-python --no-index --no-deps --find-links dist --reinstall
|
|
66
|
+
uv pip install ignore-python pytest
|
|
64
67
|
pytest
|
|
65
68
|
- name: pytest
|
|
66
69
|
if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }}
|
|
67
|
-
uses: uraimo/run-on-arch-action@
|
|
70
|
+
uses: uraimo/run-on-arch-action@v3
|
|
68
71
|
with:
|
|
69
72
|
arch: ${{ matrix.platform.target }}
|
|
70
|
-
distro:
|
|
73
|
+
distro: ubuntu24.04
|
|
71
74
|
githubToken: ${{ github.token }}
|
|
72
75
|
install: |
|
|
73
76
|
apt-get update
|
|
74
|
-
apt-get install -y --no-install-recommends python3 python3-
|
|
75
|
-
pip3 install -U pip pytest
|
|
77
|
+
apt-get install -y --no-install-recommends python3 python3-venv
|
|
76
78
|
run: |
|
|
77
79
|
set -e
|
|
78
|
-
|
|
80
|
+
python3 -m venv .venv
|
|
81
|
+
source .venv/bin/activate
|
|
82
|
+
pip install pytest
|
|
83
|
+
pip install ignore-python --no-index --no-deps --find-links dist --force-reinstall
|
|
84
|
+
pip install ignore-python
|
|
79
85
|
pytest
|
|
80
86
|
|
|
81
87
|
musllinux:
|
|
@@ -92,10 +98,10 @@ jobs:
|
|
|
92
98
|
- runner: ubuntu-22.04
|
|
93
99
|
target: armv7
|
|
94
100
|
steps:
|
|
95
|
-
- uses: actions/checkout@
|
|
96
|
-
- uses: actions/setup-python@
|
|
101
|
+
- uses: actions/checkout@v6
|
|
102
|
+
- uses: actions/setup-python@v6
|
|
97
103
|
with:
|
|
98
|
-
python-version: 3.
|
|
104
|
+
python-version: "3.9"
|
|
99
105
|
- name: Build wheels
|
|
100
106
|
uses: PyO3/maturin-action@v1
|
|
101
107
|
with:
|
|
@@ -104,27 +110,25 @@ jobs:
|
|
|
104
110
|
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
105
111
|
manylinux: musllinux_1_2
|
|
106
112
|
- name: Upload wheels
|
|
107
|
-
uses: actions/upload-artifact@
|
|
113
|
+
uses: actions/upload-artifact@v6
|
|
108
114
|
with:
|
|
109
115
|
name: wheels-musllinux-${{ matrix.platform.target }}
|
|
110
116
|
path: dist
|
|
111
117
|
- name: pytest
|
|
112
118
|
if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
options: -v ${{ github.workspace }}:/io -w /io
|
|
117
|
-
run: |
|
|
118
|
-
set -e
|
|
119
|
+
run: |
|
|
120
|
+
set -e
|
|
121
|
+
docker run --rm -v ${{ github.workspace }}:/io -w /io alpine:latest sh -c '
|
|
119
122
|
apk add py3-pip py3-virtualenv
|
|
120
123
|
python3 -m virtualenv .venv
|
|
121
124
|
source .venv/bin/activate
|
|
122
|
-
pip install ignore-python --find-links dist --force-reinstall
|
|
123
|
-
pip install pytest
|
|
125
|
+
pip install ignore-python --no-index --no-deps --find-links dist --force-reinstall
|
|
126
|
+
pip install ignore-python pytest
|
|
124
127
|
pytest
|
|
128
|
+
'
|
|
125
129
|
- name: pytest
|
|
126
130
|
if: ${{ !startsWith(matrix.platform.target, 'x86') }}
|
|
127
|
-
uses: uraimo/run-on-arch-action@
|
|
131
|
+
uses: uraimo/run-on-arch-action@v3
|
|
128
132
|
with:
|
|
129
133
|
arch: ${{ matrix.platform.target }}
|
|
130
134
|
distro: alpine_latest
|
|
@@ -135,8 +139,8 @@ jobs:
|
|
|
135
139
|
set -e
|
|
136
140
|
python3 -m virtualenv .venv
|
|
137
141
|
source .venv/bin/activate
|
|
138
|
-
pip install
|
|
139
|
-
pip install ignore-python
|
|
142
|
+
pip install ignore-python --no-index --no-deps --find-links dist --force-reinstall
|
|
143
|
+
pip install ignore-python pytest
|
|
140
144
|
pytest
|
|
141
145
|
|
|
142
146
|
windows:
|
|
@@ -146,14 +150,19 @@ jobs:
|
|
|
146
150
|
platform:
|
|
147
151
|
- runner: windows-latest
|
|
148
152
|
target: x64
|
|
153
|
+
python_arch: x64
|
|
149
154
|
- runner: windows-latest
|
|
150
155
|
target: x86
|
|
156
|
+
python_arch: x86
|
|
157
|
+
- runner: windows-11-arm
|
|
158
|
+
target: aarch64
|
|
159
|
+
python_arch: arm64
|
|
151
160
|
steps:
|
|
152
|
-
- uses: actions/checkout@
|
|
153
|
-
- uses: actions/setup-python@
|
|
161
|
+
- uses: actions/checkout@v6
|
|
162
|
+
- uses: actions/setup-python@v6
|
|
154
163
|
with:
|
|
155
|
-
python-version: 3.
|
|
156
|
-
architecture: ${{ matrix.platform.
|
|
164
|
+
python-version: "3.13"
|
|
165
|
+
architecture: ${{ matrix.platform.python_arch }}
|
|
157
166
|
- name: Build wheels
|
|
158
167
|
uses: PyO3/maturin-action@v1
|
|
159
168
|
with:
|
|
@@ -161,19 +170,19 @@ jobs:
|
|
|
161
170
|
args: --release --out dist --find-interpreter
|
|
162
171
|
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
163
172
|
- name: Upload wheels
|
|
164
|
-
uses: actions/upload-artifact@
|
|
173
|
+
uses: actions/upload-artifact@v6
|
|
165
174
|
with:
|
|
166
175
|
name: wheels-windows-${{ matrix.platform.target }}
|
|
167
176
|
path: dist
|
|
177
|
+
- uses: astral-sh/setup-uv@v7
|
|
168
178
|
- name: pytest
|
|
169
|
-
if: ${{ !startsWith(matrix.platform.target, 'aarch64') }}
|
|
170
179
|
shell: bash
|
|
171
180
|
run: |
|
|
172
181
|
set -e
|
|
173
|
-
|
|
182
|
+
uv venv .venv
|
|
174
183
|
source .venv/Scripts/activate
|
|
175
|
-
pip install ignore-python --
|
|
176
|
-
pip install pytest
|
|
184
|
+
uv pip install ignore-python --no-index --no-deps --find-links dist --reinstall
|
|
185
|
+
uv pip install ignore-python pytest
|
|
177
186
|
pytest
|
|
178
187
|
|
|
179
188
|
macos:
|
|
@@ -181,13 +190,15 @@ jobs:
|
|
|
181
190
|
strategy:
|
|
182
191
|
matrix:
|
|
183
192
|
platform:
|
|
184
|
-
- runner: macos-
|
|
193
|
+
- runner: macos-15-intel
|
|
194
|
+
target: x86_64
|
|
195
|
+
- runner: macos-latest
|
|
185
196
|
target: aarch64
|
|
186
197
|
steps:
|
|
187
|
-
- uses: actions/checkout@
|
|
188
|
-
- uses: actions/setup-python@
|
|
198
|
+
- uses: actions/checkout@v6
|
|
199
|
+
- uses: actions/setup-python@v6
|
|
189
200
|
with:
|
|
190
|
-
python-version: 3.
|
|
201
|
+
python-version: "3.9"
|
|
191
202
|
- name: Build wheels
|
|
192
203
|
uses: PyO3/maturin-action@v1
|
|
193
204
|
with:
|
|
@@ -195,30 +206,31 @@ jobs:
|
|
|
195
206
|
args: --release --out dist --find-interpreter
|
|
196
207
|
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
197
208
|
- name: Upload wheels
|
|
198
|
-
uses: actions/upload-artifact@
|
|
209
|
+
uses: actions/upload-artifact@v6
|
|
199
210
|
with:
|
|
200
211
|
name: wheels-macos-${{ matrix.platform.target }}
|
|
201
212
|
path: dist
|
|
213
|
+
- uses: astral-sh/setup-uv@v7
|
|
202
214
|
- name: pytest
|
|
203
215
|
run: |
|
|
204
216
|
set -e
|
|
205
|
-
|
|
217
|
+
uv venv .venv
|
|
206
218
|
source .venv/bin/activate
|
|
207
|
-
pip install ignore-python --
|
|
208
|
-
pip install pytest
|
|
219
|
+
uv pip install ignore-python --no-index --no-deps --find-links dist --reinstall
|
|
220
|
+
uv pip install ignore-python pytest
|
|
209
221
|
pytest
|
|
210
222
|
|
|
211
223
|
sdist:
|
|
212
224
|
runs-on: ubuntu-latest
|
|
213
225
|
steps:
|
|
214
|
-
- uses: actions/checkout@
|
|
226
|
+
- uses: actions/checkout@v6
|
|
215
227
|
- name: Build sdist
|
|
216
228
|
uses: PyO3/maturin-action@v1
|
|
217
229
|
with:
|
|
218
230
|
command: sdist
|
|
219
231
|
args: --out dist
|
|
220
232
|
- name: Upload sdist
|
|
221
|
-
uses: actions/upload-artifact@
|
|
233
|
+
uses: actions/upload-artifact@v6
|
|
222
234
|
with:
|
|
223
235
|
name: wheels-sdist
|
|
224
236
|
path: dist
|
|
@@ -228,6 +240,7 @@ jobs:
|
|
|
228
240
|
runs-on: ubuntu-latest
|
|
229
241
|
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
|
|
230
242
|
needs: [linux, musllinux, windows, macos, sdist]
|
|
243
|
+
environment: pypi
|
|
231
244
|
permissions:
|
|
232
245
|
# Use to sign the release artifacts
|
|
233
246
|
id-token: write
|
|
@@ -236,16 +249,14 @@ jobs:
|
|
|
236
249
|
# Used to generate artifact attestation
|
|
237
250
|
attestations: write
|
|
238
251
|
steps:
|
|
239
|
-
- uses: actions/download-artifact@
|
|
252
|
+
- uses: actions/download-artifact@v7
|
|
240
253
|
- name: Generate artifact attestation
|
|
241
|
-
uses: actions/attest
|
|
254
|
+
uses: actions/attest@v4
|
|
242
255
|
with:
|
|
243
256
|
subject-path: 'wheels-*/*'
|
|
257
|
+
- name: Install uv
|
|
258
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
259
|
+
uses: astral-sh/setup-uv@v7
|
|
244
260
|
- name: Publish to PyPI
|
|
245
261
|
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
246
|
-
|
|
247
|
-
env:
|
|
248
|
-
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
249
|
-
with:
|
|
250
|
-
command: upload
|
|
251
|
-
args: --non-interactive --skip-existing wheels-*/*
|
|
262
|
+
run: uv publish --trusted-publishing always 'wheels-*/*'
|
|
@@ -11,20 +11,14 @@ dependencies = [
|
|
|
11
11
|
"memchr",
|
|
12
12
|
]
|
|
13
13
|
|
|
14
|
-
[[package]]
|
|
15
|
-
name = "autocfg"
|
|
16
|
-
version = "1.5.0"
|
|
17
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
18
|
-
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
|
19
|
-
|
|
20
14
|
[[package]]
|
|
21
15
|
name = "bstr"
|
|
22
|
-
version = "1.12.
|
|
16
|
+
version = "1.12.3"
|
|
23
17
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
24
|
-
checksum = "
|
|
18
|
+
checksum = "5cee35f73844aa3014bb606320a6c1f010249dbdf43342fe54b5a4f6a8ed4b79"
|
|
25
19
|
dependencies = [
|
|
26
20
|
"memchr",
|
|
27
|
-
"
|
|
21
|
+
"serde_core",
|
|
28
22
|
]
|
|
29
23
|
|
|
30
24
|
[[package]]
|
|
@@ -73,9 +67,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
|
73
67
|
|
|
74
68
|
[[package]]
|
|
75
69
|
name = "ignore"
|
|
76
|
-
version = "0.4.
|
|
70
|
+
version = "0.4.26"
|
|
77
71
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
78
|
-
checksum = "
|
|
72
|
+
checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d"
|
|
79
73
|
dependencies = [
|
|
80
74
|
"crossbeam-deque",
|
|
81
75
|
"globset",
|
|
@@ -89,53 +83,35 @@ dependencies = [
|
|
|
89
83
|
|
|
90
84
|
[[package]]
|
|
91
85
|
name = "ignore-python"
|
|
92
|
-
version = "0.
|
|
86
|
+
version = "0.4.0"
|
|
93
87
|
dependencies = [
|
|
94
88
|
"ignore",
|
|
95
89
|
"pyo3",
|
|
96
90
|
]
|
|
97
91
|
|
|
98
|
-
[[package]]
|
|
99
|
-
name = "indoc"
|
|
100
|
-
version = "2.0.7"
|
|
101
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
102
|
-
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
|
|
103
|
-
dependencies = [
|
|
104
|
-
"rustversion",
|
|
105
|
-
]
|
|
106
|
-
|
|
107
92
|
[[package]]
|
|
108
93
|
name = "libc"
|
|
109
|
-
version = "0.2.
|
|
94
|
+
version = "0.2.186"
|
|
110
95
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
111
|
-
checksum = "
|
|
96
|
+
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
|
112
97
|
|
|
113
98
|
[[package]]
|
|
114
99
|
name = "log"
|
|
115
|
-
version = "0.4.
|
|
100
|
+
version = "0.4.33"
|
|
116
101
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
117
|
-
checksum = "
|
|
102
|
+
checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
|
|
118
103
|
|
|
119
104
|
[[package]]
|
|
120
105
|
name = "memchr"
|
|
121
|
-
version = "2.8.
|
|
106
|
+
version = "2.8.2"
|
|
122
107
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
123
|
-
checksum = "
|
|
124
|
-
|
|
125
|
-
[[package]]
|
|
126
|
-
name = "memoffset"
|
|
127
|
-
version = "0.9.1"
|
|
128
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
129
|
-
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
|
|
130
|
-
dependencies = [
|
|
131
|
-
"autocfg",
|
|
132
|
-
]
|
|
108
|
+
checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4"
|
|
133
109
|
|
|
134
110
|
[[package]]
|
|
135
111
|
name = "once_cell"
|
|
136
|
-
version = "1.21.
|
|
112
|
+
version = "1.21.4"
|
|
137
113
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
138
|
-
checksum = "
|
|
114
|
+
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
|
139
115
|
|
|
140
116
|
[[package]]
|
|
141
117
|
name = "portable-atomic"
|
|
@@ -154,36 +130,32 @@ dependencies = [
|
|
|
154
130
|
|
|
155
131
|
[[package]]
|
|
156
132
|
name = "pyo3"
|
|
157
|
-
version = "0.
|
|
133
|
+
version = "0.29.0"
|
|
158
134
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
159
|
-
checksum = "
|
|
135
|
+
checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
|
|
160
136
|
dependencies = [
|
|
161
|
-
"indoc",
|
|
162
137
|
"libc",
|
|
163
|
-
"memoffset",
|
|
164
138
|
"once_cell",
|
|
165
139
|
"portable-atomic",
|
|
166
140
|
"pyo3-build-config",
|
|
167
141
|
"pyo3-ffi",
|
|
168
142
|
"pyo3-macros",
|
|
169
|
-
"unindent",
|
|
170
143
|
]
|
|
171
144
|
|
|
172
145
|
[[package]]
|
|
173
146
|
name = "pyo3-build-config"
|
|
174
|
-
version = "0.
|
|
147
|
+
version = "0.29.0"
|
|
175
148
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
176
|
-
checksum = "
|
|
149
|
+
checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
|
|
177
150
|
dependencies = [
|
|
178
|
-
"once_cell",
|
|
179
151
|
"target-lexicon",
|
|
180
152
|
]
|
|
181
153
|
|
|
182
154
|
[[package]]
|
|
183
155
|
name = "pyo3-ffi"
|
|
184
|
-
version = "0.
|
|
156
|
+
version = "0.29.0"
|
|
185
157
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
186
|
-
checksum = "
|
|
158
|
+
checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
|
|
187
159
|
dependencies = [
|
|
188
160
|
"libc",
|
|
189
161
|
"pyo3-build-config",
|
|
@@ -191,9 +163,9 @@ dependencies = [
|
|
|
191
163
|
|
|
192
164
|
[[package]]
|
|
193
165
|
name = "pyo3-macros"
|
|
194
|
-
version = "0.
|
|
166
|
+
version = "0.29.0"
|
|
195
167
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
196
|
-
checksum = "
|
|
168
|
+
checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
|
|
197
169
|
dependencies = [
|
|
198
170
|
"proc-macro2",
|
|
199
171
|
"pyo3-macros-backend",
|
|
@@ -203,22 +175,21 @@ dependencies = [
|
|
|
203
175
|
|
|
204
176
|
[[package]]
|
|
205
177
|
name = "pyo3-macros-backend"
|
|
206
|
-
version = "0.
|
|
178
|
+
version = "0.29.0"
|
|
207
179
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
208
|
-
checksum = "
|
|
180
|
+
checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
|
|
209
181
|
dependencies = [
|
|
210
182
|
"heck",
|
|
211
183
|
"proc-macro2",
|
|
212
|
-
"pyo3-build-config",
|
|
213
184
|
"quote",
|
|
214
185
|
"syn",
|
|
215
186
|
]
|
|
216
187
|
|
|
217
188
|
[[package]]
|
|
218
189
|
name = "quote"
|
|
219
|
-
version = "1.0.
|
|
190
|
+
version = "1.0.46"
|
|
220
191
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
221
|
-
checksum = "
|
|
192
|
+
checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
|
|
222
193
|
dependencies = [
|
|
223
194
|
"proc-macro2",
|
|
224
195
|
]
|
|
@@ -236,15 +207,9 @@ dependencies = [
|
|
|
236
207
|
|
|
237
208
|
[[package]]
|
|
238
209
|
name = "regex-syntax"
|
|
239
|
-
version = "0.8.
|
|
240
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
241
|
-
checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c"
|
|
242
|
-
|
|
243
|
-
[[package]]
|
|
244
|
-
name = "rustversion"
|
|
245
|
-
version = "1.0.22"
|
|
210
|
+
version = "0.8.11"
|
|
246
211
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
247
|
-
checksum = "
|
|
212
|
+
checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
|
|
248
213
|
|
|
249
214
|
[[package]]
|
|
250
215
|
name = "same-file"
|
|
@@ -255,15 +220,6 @@ dependencies = [
|
|
|
255
220
|
"winapi-util",
|
|
256
221
|
]
|
|
257
222
|
|
|
258
|
-
[[package]]
|
|
259
|
-
name = "serde"
|
|
260
|
-
version = "1.0.228"
|
|
261
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
262
|
-
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
|
263
|
-
dependencies = [
|
|
264
|
-
"serde_core",
|
|
265
|
-
]
|
|
266
|
-
|
|
267
223
|
[[package]]
|
|
268
224
|
name = "serde_core"
|
|
269
225
|
version = "1.0.228"
|
|
@@ -286,9 +242,9 @@ dependencies = [
|
|
|
286
242
|
|
|
287
243
|
[[package]]
|
|
288
244
|
name = "syn"
|
|
289
|
-
version = "2.0.
|
|
245
|
+
version = "2.0.118"
|
|
290
246
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
291
|
-
checksum = "
|
|
247
|
+
checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
|
|
292
248
|
dependencies = [
|
|
293
249
|
"proc-macro2",
|
|
294
250
|
"quote",
|
|
@@ -297,21 +253,15 @@ dependencies = [
|
|
|
297
253
|
|
|
298
254
|
[[package]]
|
|
299
255
|
name = "target-lexicon"
|
|
300
|
-
version = "0.13.
|
|
256
|
+
version = "0.13.5"
|
|
301
257
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
302
|
-
checksum = "
|
|
258
|
+
checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|
303
259
|
|
|
304
260
|
[[package]]
|
|
305
261
|
name = "unicode-ident"
|
|
306
|
-
version = "1.0.
|
|
307
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
308
|
-
checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
|
|
309
|
-
|
|
310
|
-
[[package]]
|
|
311
|
-
name = "unindent"
|
|
312
|
-
version = "0.2.4"
|
|
262
|
+
version = "1.0.24"
|
|
313
263
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
314
|
-
checksum = "
|
|
264
|
+
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
315
265
|
|
|
316
266
|
[[package]]
|
|
317
267
|
name = "walkdir"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "ignore-python"
|
|
3
|
-
version = "0.
|
|
4
|
-
edition = "
|
|
3
|
+
version = "0.4.0"
|
|
4
|
+
edition = "2024"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
|
|
7
7
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
@@ -10,5 +10,5 @@ name = "ignore"
|
|
|
10
10
|
crate-type = ["cdylib"]
|
|
11
11
|
|
|
12
12
|
[dependencies]
|
|
13
|
-
pyo3 = "0.
|
|
13
|
+
pyo3 = "0.29.0"
|
|
14
14
|
ignore-rust = { version = "0.4.25", package = "ignore" }
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ignore-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
7
7
|
License-File: LICENSE.txt
|
|
8
|
-
Summary: Rust
|
|
8
|
+
Summary: Python bindings for the Rust crate ignore
|
|
9
9
|
Keywords: python,gitignore,search,rust,extension,module,filesystem,recursively-search,fd,ripgrep,ignore
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
12
12
|
Project-URL: documentation, https://borsattoz.github.io/ignore-python
|
|
13
13
|
Project-URL: repository, https://github.com/borsattoz/ignore-python
|
|
@@ -45,7 +45,14 @@ for entry in WalkBuilder("./").hidden(False).build():
|
|
|
45
45
|
|
|
46
46
|
Refer to the [API documentation](https://borsattoz.github.io/ignore-python) for more information.
|
|
47
47
|
|
|
48
|
-
## How to install
|
|
48
|
+
## How to install
|
|
49
|
+
### On Arch Linux
|
|
50
|
+
You can install the [python-ignore package](https://archlinux.org/packages/extra/x86_64/python-ignore/) from the official repos:
|
|
51
|
+
```sh
|
|
52
|
+
pacman -S python-ignore
|
|
53
|
+
```
|
|
54
|
+
### From pip
|
|
55
|
+
You can install the [ignore-python package](https://pypi.org/project/ignore-python/):
|
|
49
56
|
```sh
|
|
50
57
|
pip install ignore-python
|
|
51
58
|
# or
|
|
@@ -31,7 +31,14 @@ for entry in WalkBuilder("./").hidden(False).build():
|
|
|
31
31
|
|
|
32
32
|
Refer to the [API documentation](https://borsattoz.github.io/ignore-python) for more information.
|
|
33
33
|
|
|
34
|
-
## How to install
|
|
34
|
+
## How to install
|
|
35
|
+
### On Arch Linux
|
|
36
|
+
You can install the [python-ignore package](https://archlinux.org/packages/extra/x86_64/python-ignore/) from the official repos:
|
|
37
|
+
```sh
|
|
38
|
+
pacman -S python-ignore
|
|
39
|
+
```
|
|
40
|
+
### From pip
|
|
41
|
+
You can install the [ignore-python package](https://pypi.org/project/ignore-python/):
|
|
35
42
|
```sh
|
|
36
43
|
pip install ignore-python
|
|
37
44
|
# or
|
|
@@ -3,11 +3,10 @@ from typing import Self
|
|
|
3
3
|
|
|
4
4
|
from ignore.overrides import Override
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
class Error(Exception):
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
"""
|
|
8
|
+
Represents an error that can occur during operations.
|
|
9
|
+
"""
|
|
11
10
|
|
|
12
11
|
class IOError(Exception):
|
|
13
12
|
"""
|
|
@@ -22,53 +21,30 @@ class IOError(Exception):
|
|
|
22
21
|
|
|
23
22
|
def __init__(self, errno: int, strerror: str, filename: str) -> None: ...
|
|
24
23
|
|
|
25
|
-
|
|
26
24
|
class DirEntry:
|
|
27
25
|
def path(self) -> pathlib.Path: ...
|
|
28
|
-
|
|
29
26
|
def depth(self) -> int: ...
|
|
30
27
|
|
|
31
|
-
|
|
32
28
|
class Walk:
|
|
33
29
|
def __init__(self, path: pathlib.Path) -> None: ...
|
|
34
|
-
|
|
35
30
|
def __iter__(self) -> Self: ...
|
|
36
|
-
|
|
37
31
|
def __next__(self) -> DirEntry: ...
|
|
38
32
|
|
|
39
|
-
|
|
40
33
|
class WalkBuilder:
|
|
41
34
|
def __init__(self, path: pathlib.Path) -> None: ...
|
|
42
|
-
|
|
43
35
|
def hidden(self, yes: bool) -> Self: ...
|
|
44
|
-
|
|
45
36
|
def ignore(self, yes: bool) -> Self: ...
|
|
46
|
-
|
|
47
37
|
def parents(self, yes: bool) -> Self: ...
|
|
48
|
-
|
|
49
38
|
def git_ignore(self, yes: bool) -> Self: ...
|
|
50
|
-
|
|
51
39
|
def git_global(self, yes: bool) -> Self: ...
|
|
52
|
-
|
|
53
40
|
def git_exclude(self, yes: bool) -> Self: ...
|
|
54
|
-
|
|
55
41
|
def require_git(self, yes: bool) -> Self: ...
|
|
56
|
-
|
|
57
42
|
def overrides(self, overrides: Override) -> Self: ...
|
|
58
|
-
|
|
59
43
|
def follow_links(self, yes: bool) -> Self: ...
|
|
60
|
-
|
|
61
44
|
def same_file_system(self, yes: bool) -> Self: ...
|
|
62
|
-
|
|
63
45
|
def max_depth(self, depth: int | None) -> Self: ...
|
|
64
|
-
|
|
65
46
|
def max_filesize(self, filesize: int | None) -> Self: ...
|
|
66
|
-
|
|
67
47
|
def add_custom_ignore_filename(self, file_name: str) -> Self: ...
|
|
68
|
-
|
|
69
48
|
def add(self, path: pathlib.Path) -> Self: ...
|
|
70
|
-
|
|
71
49
|
def add_ignore(self, path: pathlib.Path) -> None: ...
|
|
72
|
-
|
|
73
50
|
def build(self) -> Walk: ...
|
|
74
|
-
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[[repos]]
|
|
2
|
+
repo = "https://github.com/pre-commit/pre-commit-hooks"
|
|
3
|
+
rev = "v6.0.0"
|
|
4
|
+
hooks = [
|
|
5
|
+
{ id = "end-of-file-fixer" },
|
|
6
|
+
{ id = "trailing-whitespace" },
|
|
7
|
+
{ id = "name-tests-test" },
|
|
8
|
+
{ id = "check-toml" },
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
[[repos]]
|
|
12
|
+
repo = "https://github.com/abravalheri/validate-pyproject"
|
|
13
|
+
rev = "v0.25"
|
|
14
|
+
hooks = [{ id = "validate-pyproject" }]
|
|
15
|
+
|
|
16
|
+
[[repos]]
|
|
17
|
+
repo = "https://github.com/crate-ci/typos"
|
|
18
|
+
rev = "v1.44.0"
|
|
19
|
+
hooks = [{ id = "typos" }]
|
|
20
|
+
|
|
21
|
+
[[repos]]
|
|
22
|
+
repo = "https://github.com/psf/black"
|
|
23
|
+
rev = "26.3.0"
|
|
24
|
+
hooks = [{ id = "black" }]
|
|
25
|
+
|
|
26
|
+
[[repos]]
|
|
27
|
+
repo = "local"
|
|
28
|
+
hooks = [
|
|
29
|
+
{
|
|
30
|
+
id = "rustfmt",
|
|
31
|
+
name = "rustfmt",
|
|
32
|
+
entry = "rustfmt",
|
|
33
|
+
language = "system",
|
|
34
|
+
files = "\\.rs$",
|
|
35
|
+
}
|
|
36
|
+
]
|
|
@@ -4,10 +4,10 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ignore-python"
|
|
7
|
-
description = "Rust
|
|
7
|
+
description = "Python bindings for the Rust crate ignore"
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
license = {file = "LICENSE.txt"}
|
|
10
|
-
requires-python = ">=3.
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
11
|
keywords = ["python", "gitignore", "search", "rust", "extension", "module", "filesystem", "recursively-search", "fd", "ripgrep", "ignore"]
|
|
12
12
|
classifiers = [
|
|
13
13
|
"Programming Language :: Rust",
|
|
@@ -22,3 +22,8 @@ repository = "https://github.com/borsattoz/ignore-python"
|
|
|
22
22
|
|
|
23
23
|
[tool.maturin]
|
|
24
24
|
features = ["pyo3/extension-module"]
|
|
25
|
+
|
|
26
|
+
[tool.maturin.generate-ci.github]
|
|
27
|
+
pytest = true
|
|
28
|
+
trusted-publishing = true
|
|
29
|
+
publishing-environment = "pypi"
|
|
@@ -26,8 +26,10 @@ fn register_child_module<'a>(
|
|
|
26
26
|
|
|
27
27
|
struct PathBuf(std::path::PathBuf);
|
|
28
28
|
|
|
29
|
-
impl FromPyObject<'_> for PathBuf {
|
|
30
|
-
|
|
29
|
+
impl<'py> FromPyObject<'_, 'py> for PathBuf {
|
|
30
|
+
type Error = PyErr;
|
|
31
|
+
|
|
32
|
+
fn extract(path: Borrowed<'_, 'py, PyAny>) -> PyResult<Self> {
|
|
31
33
|
let builtins = PyModule::import(path.py(), "builtins")?;
|
|
32
34
|
|
|
33
35
|
let path = builtins.getattr("str")?.call((path,), None)?;
|
|
@@ -126,7 +128,7 @@ mod ignore {
|
|
|
126
128
|
match &error.0 {
|
|
127
129
|
ignore_rust::Error::WithPath { path, err } => match err.as_ref() {
|
|
128
130
|
ignore_rust::Error::Io(io_error) => match io_error.kind() {
|
|
129
|
-
io::ErrorKind::NotFound => Python::
|
|
131
|
+
io::ErrorKind::NotFound => Python::attach(|py| {
|
|
130
132
|
let errno = py
|
|
131
133
|
.import("errno")
|
|
132
134
|
.expect("`errno` module")
|
|
@@ -178,7 +180,7 @@ mod ignore {
|
|
|
178
180
|
|
|
179
181
|
/// A directory entry.
|
|
180
182
|
///
|
|
181
|
-
/// See https://docs.rs/ignore/0.4.
|
|
183
|
+
/// See https://docs.rs/ignore/0.4.26/ignore/struct.DirEntry.html for
|
|
182
184
|
/// more information.
|
|
183
185
|
#[pyclass]
|
|
184
186
|
struct DirEntry(ignore_rust::DirEntry);
|
|
@@ -196,7 +198,7 @@ mod ignore {
|
|
|
196
198
|
|
|
197
199
|
/// WalkBuilder builds a recursive directory iterator for the directory given.
|
|
198
200
|
///
|
|
199
|
-
/// See https://docs.rs/ignore/0.4.
|
|
201
|
+
/// See https://docs.rs/ignore/0.4.26/ignore/struct.WalkBuilder.html
|
|
200
202
|
/// for more information.
|
|
201
203
|
#[pyclass]
|
|
202
204
|
struct WalkBuilder(ignore_rust::WalkBuilder);
|
|
@@ -250,11 +252,11 @@ mod ignore {
|
|
|
250
252
|
slf
|
|
251
253
|
}
|
|
252
254
|
|
|
253
|
-
fn overrides(
|
|
254
|
-
mut slf: PyRefMut<'
|
|
255
|
-
overrides: overrides::Override,
|
|
256
|
-
) -> PyRefMut<'
|
|
257
|
-
slf.0.overrides(overrides.0);
|
|
255
|
+
fn overrides<'a>(
|
|
256
|
+
mut slf: PyRefMut<'a, Self>,
|
|
257
|
+
overrides: &'a overrides::Override,
|
|
258
|
+
) -> PyRefMut<'a, Self> {
|
|
259
|
+
slf.0.overrides(overrides.0.clone());
|
|
258
260
|
|
|
259
261
|
slf
|
|
260
262
|
}
|
|
@@ -316,7 +318,7 @@ mod ignore {
|
|
|
316
318
|
/// Currently, `__next__` raises `IOError` only when a `ENOENT` error happens (e.g. broken
|
|
317
319
|
/// symlinks when following them).
|
|
318
320
|
///
|
|
319
|
-
/// See https://docs.rs/ignore/0.4.
|
|
321
|
+
/// See https://docs.rs/ignore/0.4.26/ignore/struct.Walk.html for more
|
|
320
322
|
/// information.
|
|
321
323
|
#[pyclass]
|
|
322
324
|
struct Walk(ignore_rust::Walk);
|
|
@@ -344,14 +346,13 @@ mod ignore {
|
|
|
344
346
|
|
|
345
347
|
/// Manages a set of overrides provided explicitly by the end user.
|
|
346
348
|
///
|
|
347
|
-
/// See https://docs.rs/ignore/0.4.
|
|
349
|
+
/// See https://docs.rs/ignore/0.4.26/ignore/overrides/struct.Override.html for more information.
|
|
348
350
|
#[pyclass]
|
|
349
|
-
#[derive(Clone)]
|
|
350
351
|
pub struct Override(pub ignore_rust::overrides::Override);
|
|
351
352
|
|
|
352
353
|
/// Builds a matcher for a set of glob overrides.
|
|
353
354
|
///
|
|
354
|
-
/// See https://docs.rs/ignore/0.4.
|
|
355
|
+
/// See https://docs.rs/ignore/0.4.26/ignore/overrides/struct.OverrideBuilder.html for more information.
|
|
355
356
|
#[pyclass]
|
|
356
357
|
pub struct OverrideBuilder(ignore_rust::overrides::OverrideBuilder);
|
|
357
358
|
|
|
@@ -6,66 +6,67 @@ from sys import platform
|
|
|
6
6
|
|
|
7
7
|
PATH = Path("./")
|
|
8
8
|
|
|
9
|
+
|
|
9
10
|
def test_build():
|
|
10
11
|
walk = WalkBuilder(PATH).build()
|
|
11
12
|
assert type(walk) == Walk
|
|
12
13
|
assert len(list(walk)) >= 2
|
|
13
14
|
|
|
15
|
+
|
|
14
16
|
def test_flags():
|
|
15
|
-
builder = (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
builder = (
|
|
18
|
+
WalkBuilder(PATH)
|
|
19
|
+
.hidden(True)
|
|
20
|
+
.ignore(True)
|
|
21
|
+
.parents(True)
|
|
22
|
+
.git_ignore(True)
|
|
23
|
+
.git_global(True)
|
|
24
|
+
.git_exclude(True)
|
|
25
|
+
.require_git(True)
|
|
26
|
+
.follow_links(True)
|
|
27
|
+
.same_file_system(True)
|
|
28
|
+
)
|
|
26
29
|
|
|
27
30
|
assert type(builder) == WalkBuilder
|
|
28
31
|
|
|
32
|
+
|
|
29
33
|
def test_max_depth():
|
|
30
|
-
builder =
|
|
31
|
-
.max_depth(None)
|
|
32
|
-
.max_depth(0)
|
|
33
|
-
.max_depth(42)
|
|
34
|
-
)
|
|
34
|
+
builder = WalkBuilder(PATH).max_depth(None).max_depth(0).max_depth(42)
|
|
35
35
|
|
|
36
36
|
assert type(builder) == WalkBuilder
|
|
37
37
|
|
|
38
38
|
with pytest.raises(OverflowError):
|
|
39
39
|
WalkBuilder(PATH).max_depth(-1)
|
|
40
40
|
|
|
41
|
+
|
|
41
42
|
def test_max_filesize():
|
|
42
|
-
builder =
|
|
43
|
-
.max_filesize(42)
|
|
44
|
-
)
|
|
43
|
+
builder = WalkBuilder(PATH).max_filesize(42)
|
|
45
44
|
|
|
46
45
|
assert type(builder) == WalkBuilder
|
|
47
46
|
|
|
48
47
|
with pytest.raises(OverflowError):
|
|
49
48
|
WalkBuilder(PATH).max_filesize(-1)
|
|
50
49
|
|
|
50
|
+
|
|
51
51
|
def test_add_custom_ignore_filename():
|
|
52
52
|
builder = WalkBuilder(PATH).add_custom_ignore_filename("foo")
|
|
53
53
|
|
|
54
54
|
assert type(builder) == WalkBuilder
|
|
55
55
|
|
|
56
|
+
|
|
56
57
|
def test_add():
|
|
57
58
|
builder = WalkBuilder(PATH).add(Path("../bar"))
|
|
58
59
|
|
|
59
60
|
assert type(builder) == WalkBuilder
|
|
60
61
|
|
|
62
|
+
|
|
61
63
|
def test_add_ignore():
|
|
62
64
|
builder = WalkBuilder(PATH)
|
|
63
65
|
|
|
64
|
-
if platform ==
|
|
66
|
+
if platform == "win32":
|
|
65
67
|
pstr = "C:\\Windows"
|
|
66
68
|
else:
|
|
67
69
|
pstr = "/"
|
|
68
70
|
|
|
69
71
|
with pytest.raises(ignore.Error):
|
|
70
72
|
builder.add_ignore(Path(pstr))
|
|
71
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|