macOS
brew install git-subrepolocal Homebrew formula metadata
brew
Git Submodule Alternative. Version 0.4.9 via Homebrew; verified 2026-06-22.
install
brew install git-subrepolocal Homebrew formula metadata
sudo apt install git-subrepoDebian stable package indexes · git-subrepo · source: deb.debian.org
nix profile install nixpkgs#git-subreponixpkgs package indexes · pkgs/by-name/gi/git-subrepo/package.nix · source: api.github.com
sudo zypper install git-subrepoopenSUSE Tumbleweed package metadata · git-subrepo · source: download.opensuse.org
overview
Git Submodule Alternative
history
git-subrepo is a Git extension for embedding external repositories into subdirectories while avoiding many workflow problems associated with submodules and subtrees.
The repository began in 2013 and framed git-subrepo as a solid alternative to Git submodule and subtree workflows. Its introductory documentation argues that users, collaborators, and repository owners have different needs, and that submodules especially impose knowledge and synchronization burdens on people who only want to clone and use a project.
The design stores subrepository metadata in a .gitrepo file inside the subdirectory, squashes pulls into the mainline history, and keeps refs for subrepo fetch and push workflows. A major 0.4.0-era redesign in 2018 shifted implementation details toward merge and rebase methods, with later 0.4.x releases improving testing, shell compatibility, path handling, Git version behavior, and completion scripts.
git-subrepo serves a persistent niche: projects that want vendored source trees with upstream synchronization but do not want users to run git submodule update. Its package-manager presence in Homebrew, Debian, Nix, and openSUSE-style packaging gives maintainers a packaged alternative for teams that reject Git submodules but still need upstream push and pull operations.
Practitioners clone an external repository into a subdirectory, initialize an existing subdirectory as a subrepo, pull upstream updates, push local subdirectory changes back, inspect status, clean metadata refs, and rely on .gitrepo to mark and configure each embedded repository.
git-subrepo is important in package-maintenance culture because it addresses the recurring vendor-versus-submodule choice. It favors normal clone behavior for downstream users while preserving enough metadata for maintainers to synchronize embedded code with upstream projects.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
git-subrepo | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/ingydotnet/git-subrepo
install metadata
| Package key | brew:git-subrepo |
|---|---|
| Version | 0.4.9 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/git-subrepo |
| Homepage | https://github.com/ingydotnet/git-subrepo |
| Repository | https://github.com/ingydotnet/git-subrepo |
| Upstream docs | https://github.com/ingydotnet/git-subrepo#readme |
| License | MIT |
| Source archive | https://github.com/ingydotnet/git-subrepo/archive/refs/tags/0.4.9.tar.gz |
| Last updated | 2026-06-22T14:03:31-07:00 |
| Pulse | updated |
| Dependencies | bash |
| Build dependencies | gnu-sed |
| Bottle | available (on all) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | git-subrepo |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
git-subrepo 0.4.9-2
Alternative to git-submodule(1) and git-subtree(1)
https://github.com/ingydotnet/git-subrepo
sudo apt install git-subrepogit-subrepo
nix profile install nixpkgs#git-subrepogit-subrepo 0.4.6-2.4
Git Submodule Alternative
https://github.com/ingydotnet/git-subrepo
sudo zypper install git-subrepogit-subrepo-bash-completion 0.4.6-2.4
Bash completion for git-subrepo
https://github.com/ingydotnet/git-subrepo
sudo zypper install git-subrepo-bash-completiongit-subrepo-zsh-completion 0.4.6-2.4
ZSH completion for git-subrepo
https://github.com/ingydotnet/git-subrepo
sudo zypper install git-subrepo-zsh-completionsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.