| docs | ||
| src | ||
| unittest | ||
| .envrc | ||
| .flake8 | ||
| .gitignore | ||
| git-meta | ||
| Makefile | ||
| mkdocs.yml | ||
| mypy.ini | ||
| poetry.lock | ||
| pyproject.toml | ||
| README.md | ||
| tox.ini | ||
Git Meta
A system for managinng information, typically short textual descriptions, about
anything stored in a Git repostiory: Manage branch desctriptions (or other
Git refs), directories and files (Git trees), and commits (similar to
git-notes) without affecting these objects directly.
Features
Essentially Git Meta stores shadow trees in your repository (similar to
gh-pages on GitHub). These special directories contain text files describing
branches, other files, or commit. They are not part of your working tree so that
you can use this system to describe any repositoires without changing or adding
any files. Still all descriptions can be stored and versioned via Git, just like
the rest of your repository.
All meta information is sharable via remote repositories, that is it can be
pushed to / fetched from GitHub, GitLab, Bitbucket, etc. without requiring any
special support from the remote repository. Just as usual, you can share
on-demand by providing refspecs to git-fetch or git-push or configure your
repository to share meta-information automatically by storing this refspecs in
the configuration.
Similarly, meta-information is accessible to any Git client without requiring installation of Git Meta.
Usage
Note: This secton describes intended funcationality, not yet implmented.
Synopsis
git meta COMMAND OBJECT
Valid objects are:
- Any branch (or tag) name.
- Any commit hash.
- Any file name.
Valid commands are:
addeditremoveshowfetchandpush
Examples
git meta add master
git meta add README.md