A system to store meta-data, e.g. a description, for any Git object. Unlike git-notes fully supports branches, tags and paths.
Find a file
2022-10-03 18:42:28 +01:00
docs Add support for "mkdocs" documentation 2022-10-03 17:46:15 +01:00
src Solve type-checking errors 2022-09-25 13:06:30 +01:00
unittest Add unittest for "log" 2022-10-01 16:12:16 +01:00
.envrc Add "tox" tool 2022-09-18 20:12:45 +01:00
.flake8 Clean linter messages 2022-09-18 17:14:41 +01:00
.gitignore Add .gitignore for Python project 2022-09-10 20:20:26 +01:00
git-meta Make main program find its own package 2022-09-17 11:09:13 +01:00
Makefile Also clean Python cache of "unittest" 2022-10-03 18:42:28 +01:00
mkdocs.yml Add support for "mkdocs" documentation 2022-10-03 17:46:15 +01:00
mypy.ini Solve type-checking errors 2022-09-25 13:06:30 +01:00
poetry.lock Add pytest plugins as dev dependencies 2022-09-25 21:18:46 +01:00
pyproject.toml Add pytest plugins as dev dependencies 2022-09-25 21:18:46 +01:00
README.md Improve readme 2022-09-15 22:46:53 +01:00
tox.ini Fix tox configuration to really use Python envs 2022-09-24 15:37:10 +01:00

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:

  • add
  • edit
  • remove
  • show
  • fetch and push

Examples

git meta add master

git meta add README.md