-
Notifications
You must be signed in to change notification settings - Fork 811
Open
Labels
breakingdependenciesPull requests that update a dependency filePull requests that update a dependency file
Milestone
Description
Across go-git
the pattern of dependency inversion can be observed, enabling users to swap implementations of Storage, Filesystem and Hash implementations.
For v6
, we should aim to double down on that principle to support a leaner go-git
core which has minimal dependencies. Some of the dependencies that could be provided via a opt-in sensible defaults, but removed from the core go-git
:
- github.com/pjbgf/sha1cd
- github.com/kevinburke/ssh_config
- github.com/xanzy/ssh-agent
- github.com/skeema/knownhosts
The SSH related dependencies may require a change in the API to enable that extensibility. For project that only clone public repositories via HTTPS, should not be forced on depending on those dependencies.
Similarly, as sha256 arrives for v6, users that may be solely working against sha256 repositories may not be forced to depend on sha1cd.
Metadata
Metadata
Assignees
Labels
breakingdependenciesPull requests that update a dependency filePull requests that update a dependency file