mirror of
https://github.com/go-task/task.git
synced 2026-06-11 09:51:50 +00:00
70fe29314f29b1c7d6ed173ae3308a5b8a919470
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.
Task: The Modern Task Runner
A fast, cross-platform build tool inspired by Make, designed for modern workflows.
Installation • Getting Started • Docs • Twitter • Bluesky • Mastodon • Discord
Gold Sponsors
|
|
|
|
Community Sponsors
|
|
Description
Languages
Go
84%
Vue
4.9%
Shell
4.7%
TypeScript
4.4%
PowerShell
1.4%
Other
0.5%