This document describes the external dependencies used by the gitconfig project.
- Cross-platform compilation (Windows, macOS, Linux)
- No C/C++ compiler required
- Static binary generation
- Simplified deployment
-
glob package: Go's filepath.Match is too limited. We need:
- Double-asterisk (
**) support for path matching - Proper path component handling
- Character classes and ranges
- Double-asterisk (
-
gopass utilities: Existing integration with gopass parent project requires these utilities
- Consider: Reducing gopass dependency or making it optional
- Consider: Implementing lightweight glob matching if performance is critical
- Note: Keep testify as test-only dependency; it's well-maintained and improves test clarity
All dependencies use licenses compatible with gitconfig's MIT license:
- gobwas/glob: MIT
- gopasspw/gopass: MIT
- stretchr/testify: MIT (Apache 2.0 compatible)
To update dependencies:
# Check for available updates
go list -u -m all
# Update a specific dependency
go get -u github.com/package/name
# Update all dependencies
go get -u ./...
# Tidy the go.mod file
go mod tidyAfter updating dependencies, always:
- Run tests:
make test - Run linting:
make codequality - Verify cross-compilation:
make crosscompile