https://github.com/blejdfist/git-metarepo
Git repository dependency manager, alternative to submodules
https://github.com/blejdfist/git-metarepo
dependency-manager git tool
Last synced: 7 months ago
JSON representation
Git repository dependency manager, alternative to submodules
- Host: GitHub
- URL: https://github.com/blejdfist/git-metarepo
- Owner: blejdfist
- Created: 2020-05-17T13:22:32.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-10T13:03:23.000Z (over 1 year ago)
- Last Synced: 2025-04-19T15:53:39.977Z (7 months ago)
- Topics: dependency-manager, git, tool
- Language: Python
- Homepage:
- Size: 109 KB
- Stars: 16
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Metarepo: An alternative to git submodules




Metarepo is used to manage dependencies on other git repositories when git submodules is not sufficient.
It was inspired by the [repo](https://gerrit.googlesource.com/git-repo/) tool by Google but instead of requiring the
manifest to be stored in its own repository, it is stored in the same repository.

## Installation
```bash
# Install from PyPI
pip3 install --upgrade metarepo
# Install from git using PIP
pip3 install --upgrade git+https://github.com/blejdfist/git-metarepo
```
## Usage
You can run `metarepo` in two ways, standalone or using git. Both methods work the same and it is only a matter of personal taste.
```bash
git meta
metarepo
```
Create an initial `manifest.yml` configuration using the init command
```bash
git meta init
```
Synchronize the repositories
```bash
git meta sync
```
## Manifest structure
```yml
repos:
- url: https://github.com/blejdfist/pycodegen
path: tools/pycodegen
track: master
```
| Field | Explanation | Required |
| --------- | ------------------------ | :------------------: |
| url | Git URL to clone | Yes |
| path | Where to clone the repo | Yes |
| track | What branch/tag to track | No (default: master) |