_images/dfetch_header.png

Dfetch

Are you tired of managing dependencies using Git submodules or SVN externals? Introducing Dfetch, a VCS agnostic, no-hassle, source-only solution that allows you to easily retrieve dependencies as plain text from various sources. Dfetch eliminates the need for Git submodules or SVN externals by providing a efficient and user-friendly way to manage your project’s dependencies using vendoring. It promotes upstreaming changes and allows for local customizations all while maintaining self-contained code repositories.

Say goodbye to the hassle of traditional dependency management solutions and hello to a more efficient and streamlined process with Dfetch.

Check for updates

Dfetch simplifies dependency management by allowing users to easily check for updates and integrate them seamlessly into their codebase.

VCS-agnostic

Dfetch is a versatile solution, being VCS agnostic it can be used with both Git and SVN, enabling users to seamlessly manage dependencies regardless of their VCS of choice and even to mix them.

Self-contained

Dfetch ensures self-contained repositories by including dependencies directly within the project, eliminating external links and making deployment easier.

Simple yaml config

Dfetch simplifies configuration with its easy-to-use YAML file, allowing users to set up and manage dependencies with minimal setup and effort.

No lock-in

Dfetch provides freedom of choice, users are not locked into using Dfetch, they can easily switch to other dependency management solutions.

Integrate

Dfetch streamlines the integration process by being easily adaptable to various CI/CD automated tools, making it a breeze to implement in any development workflow. It can generate reports for Github, Gitlab, Jenkins, DependencyTrack and more!

Example config
manifest:
  version: 0.0

  remotes:
  - name: github
    url-base: https://github.com/

  projects:
  - name: demo-magic
    repo-path: paxtonhare/demo-magic.git
    dst: doc/generate-casts/demo-magic
    src: '*.sh'

  - name: plantuml-c4
    repo-path: plantuml-stdlib/C4-PlantUML.git
    dst: doc/static/uml/styles/plantuml-c4