Alternatives

The problem Dfetch tries to solve isn’t new. There are other tools doing the same. In making a proper choice, see the below alternatives.

There are many alternatives, each with slightly different approaches or focuses: some are designed to manage multiple repositories together, some are specialized in Vendoring code into your project, and others provide build-system or version-control-specific helpers.

Below is a list of notable tools along with their supported version control systems, platforms, and compatibility.

Name

Git

SVN

Windows

Linux

Language Agnostic

Build System Agnostic

Dfetch

Braid

CGet

✘ (C/C++)

✘ (CMake)

CMake ExternalProject

✘ (C/C++)

✘ (CMake)

Combo-layer

✘ (C/C++)

✘ (CMake)

CPM.cmake

✘ (C/C++)

✘ (CMake)

CPPAN

✘ (C/C++)

degasolv

depman

depman bitrise

Garden

gil

Git submodules

Git subtree

Git X-modules

git-aggregator

Git-externals

git-toprepo

git-vendor

Giternal

Gitman

Gitslave

Google Repo

Grit

Hemlock

josh

Kitenet mr

?

LsiGitCheckout

mdlr

Beta

myrepos

multi_repo

OpenTitan-vendor.py

pasta

peru

Quack

Quark

SoftwareNetwork

✘ (C/C++)

subpatch

SVN Externals

svn_xternals

tsrc

Vcpkg

✘ (C/C++)

Vcsh

vdm

vendor-go

vendorpull

verde

vndr

West

✘ (C/C++)

Note

the list is probably never complete or up-to-date. Anyone is welcome to create an issue.