Skip to content
James Knight edited this page May 15, 2024 · 1 revision

What is fetchdep?

fetchdep is a utility to help automatically fetch repositories alongside the folder of an existing project.

In select development environments, trying to use and manage dependencies can have issues:

  • A project may not support package management
  • Dependencies may use different types of version control systems (e.g. where features such as Git submodules cannot be used)
  • A developer may have multiple repositories with unique dependency configurations and wants to avoid replicating helper scripts across multiple projects

For users who want to easily fetch dependencies alongside an existing project, fetchdep can be used to read a fetchdep project dependency configuration and automatically clone/checkout sources. For example, if a user has a project my-awesome-project inside a common working folder:

└── ~/workdir
    └── my-awesome-project/
        ├── src/
        ├── ...
        └── fetchdep.yml

A user can navigate to this folder and invoke fetchdep as follows:

$ cd workdir/my-awesome-project
$ fetchdep

Any dependencies defined for a project will be automatically cloned:

└── ~/workdir
    ├── my-awesome-library-a/
    |   └── ...
    ├── my-awesome-library-b/
    |   └── ...
    ├── my-awesome-library-c/
    |   └── ...
    └── my-awesome-project/
        └── ...

For dependencies already fetched, entries will be skipped. This utility is solely for helping users easily fetch dependencies for a project for their development. This tool is not recommended as a replacement or complement for release building.

Clone this wiki locally