Utilities to help open source projects maintain a presence on multiple Git forges simultaneously.
The goal is to make it easy for repositories currently hosted on GitHub to also publish to an additional remote (e.g. Codeberg), keeping both git forges in sync requiring minimal manual intervetion.
Reads a config.yaml file listing source/destination repository pairs, ensures each destination repository exists on Codeberg, clones from the source, and pushes a full mirror to the destination.
python push_to_mirror.pyFetches all public, non-archived repositories from a GitHub organisation and generates a ready-to-use config.yaml.
python generate_config.py <source-org> <destination-org-url> > config.yaml
# Example
python generate_config.py gbdev https://codeberg.org/gbdev > config.yaml