dist-git-manager Documentation
dist-git-manager is a unified tool for automated dist-git repository maintenance with hierarchical branch management. It supports 8 version sources (Anitya, crates.io, PyPI, CRAN, MetaCPAN, RubyGems, Go Proxy, Octave Forge) and 8 spec update strategies (Packit, rust2rpm, pyp2spec, r2spec, cpanspec, gem2rpm, go2rpm, oct2spec).
Features
8 Version Sources: Anitya, crates.io, PyPI, CRAN, MetaCPAN, RubyGems.org, Go Proxy, Octave Forge
8 Spec Managers: Packit, rust2rpm, pyp2spec, r2spec, cpanspec, gem2rpm, go2rpm, oct2spec
Multi-Language Support: Rust, Python, R, Perl, Ruby, Go, Octave, and traditional Fedora packages
Hierarchical Branch Management: Automatic release-X and release-X.Y branch creation for SemVer
Rolling Release Support: Single branch updates for non-SemVer projects
Flexible Configuration: YAML config-driven for multiple projects OR CLI-only for single repo
Plugin Architecture: Easy to extend with new version sources and spec managers
Dry-Run Mode: Preview changes before applying
Comprehensive Testing: 90%+ coverage with offline testing
Quick Start
Install dist-git-manager:
pip install dist-git-manager
Config-driven mode (monitor multiple projects):
dist-git-manager -c config.yaml
CLI-only mode (update single repository):
dist-git-manager --repo-url https://src.fedoraproject.org/rpms/htop.git \
--package-name htop \
--version-source anitya --anitya-id 1234 \
--spec-manager packit \
--release-type semver --default-branch main \
--upstream-url https://github.com/htop-dev/htop \
--upstream-tag-template "v{version}"
Contents
Developer Guide
Additional Information