CLI Tool for managing meta-repositories
Project description
Gameta
Gameta is a powerful CLI tool that helps you to manage meta-repositories or metarepos. It allows you to create links to related repositories, make changes and sync them, and provides functionality to customise and apply other CLI commands to these repositories.
What is Gameta?
Gameta is a play on the word gamete (reproductive cells), and similar to how gametes form the building blocks for life, gameta helps to manage the many repositories that form the building blocks for more complex software.
System Requirements
Gameta requires Python 3.6+, it is designed to be multi-platform but currently is only tested in Linux environments.
Installation
Gameta can be easily installed and updated via pip:
$ pip install gameta # install
$ pip install -U gameta # update
Getting Started
Getting started is really easy.
gameta init
gameta init -g # To initialise directory as a Git repo
Gameta will extract git information and create the .meta file which stores all your project configurations.
{
"projects": {
"gameta": {
"path": ".",
"tags": ["metarepo"],
"url": "https://github.com:genius-systems/gameta.git"
}
}
}
Note
If your project has not been initialised with Git, you can specify the
--git
or -g
flag to perform a git init, but you will have to update the
repository URL manually later on.
If your repository contains a .meta file generated by Gameta, simply run the following command to sync all linked repositories locally:
gameta sync
Adding a Repository
Run the following command to add a new repository.
gameta repo add -n GitPython -u https://github.com/gitpython-developers/GitPython.git -p GitPython
Note
The path variable is the relative path within the metarepo itself
You should see another entry under the projects object within the .meta file
{
"projects": {
"gameta": {
"path": ".",
"tags": ["metarepo"],
"url": "git@github.com:genius-systems/gameta.git"
},
"GitPython": {
"path": "GitPython",
"tags": ["a", "b", "c"],
"url": "https://github.com/gitpython-developers/GitPython.git"
}
}
}
You should also see the repository cloned to the relative path specified
Applying commands
Gameta provides a powerful toolkit to manage your set of repositories.
gameta apply -c "git fetch --all --tags --prune" -c "git merge"
The command above applies the following to all repositories:
- Fetches all git updates, tags and prunes redundant git artifacts
- Merges changes on the default branch
There's alot more that you can do with commands, see the Applying Commands page for more information
Best practices
Learn how to leverage on Gameta's capabilities in the Best Practices page
Documentation
Documentation can be found at Gameta Docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gameta-0.2.7.tar.gz
.
File metadata
- Download URL: gameta-0.2.7.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/4.15.0-1092-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd92e5ad9a9a7a36f97775b4e677593c7102117ecf93eb3768da1cdd436ec13c |
|
MD5 | fcbf75d9a6c0a6cb3bbc88db6afb8561 |
|
BLAKE2b-256 | 05caf33a944be5c8773232075a3ff99857e094e54cd995da89fec8dac5020f85 |
File details
Details for the file gameta-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: gameta-0.2.7-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/4.15.0-1092-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aea9d7b8acf6edd74942827a9f8ff418aa44d015ba84e388dcc8da15a73eeb27 |
|
MD5 | f35e1d04b33541da9a87ee6b188f871c |
|
BLAKE2b-256 | 424344f34d5fbe69fe13d1088bc4f0d0eca960187297b8a8114d140c36ebc4ad |