Valentin Maerten 70fe29314f refactor: replace sabhiram/go-gitignore with vendored go-git matcher
The sabhiram/go-gitignore dependency is unmaintained (since 2021) and has
known gitignore spec gaps (* traverses /, ? broken, weak ** handling).

Vendor the pattern/matcher core of go-git (plumbing/format/gitignore,
v5.19.1) into internal/gitignore instead. It is ~185 lines of pure-stdlib,
spec-correct code (proper **, anchoring, dir-only and negation handling).
The file-walking helpers (dir.go) are intentionally omitted as they pull in
go-billy and other go-git internals; importing the upstream package directly
would re-add that transitive weight, which is why go-git was dropped before.

This gains gitignore spec compliance while removing a direct dependency
rather than adding one. The vendored code keeps its Apache-2.0 license
(internal/gitignore/LICENSE) with attribution headers; upstream test cases
are ported to table-driven stdlib tests to avoid an extra test dependency.
2026-06-07 16:07:54 +02:00
2025-09-23 22:34:43 +00:00
2025-05-01 18:43:43 +01:00
2026-06-07 15:02:56 +02:00
2025-04-19 12:55:22 +01:00
2026-05-31 11:08:42 +02:00
2024-09-02 19:21:53 +00:00
2024-08-14 08:37:05 -05:00
2025-09-11 10:26:59 +01:00
2017-02-28 09:15:25 -03:00
wip
2026-06-07 15:02:55 +02:00
wip
2026-06-07 15:02:55 +02:00
2026-06-07 15:02:56 +02:00

Task: The Modern Task Runner

A fast, cross-platform build tool inspired by Make, designed for modern workflows.

InstallationGetting StartedDocsTwitterBlueskyMastodonDiscord

Gold Sponsors

Community Sponsors

Languages
Go 84%
Vue 4.9%
Shell 4.7%
TypeScript 4.4%
PowerShell 1.4%
Other 0.5%