Fetch all commits of TinyWeatherForecastGermany and draw a graph for them using Graphviz.
Fork branches are fetched into the upstream repository and included in the graph. Fork-only commits link to their Codeberg repository, and branch names appear in each commit's tooltip.
The results are located at the pages branch and also published using GitHub Pages.
Merge commits are highlighted in blue.
Weblate commits are highlighted in dark green.
status: work in progress
author: Jean-Luc Tibaux
Requirements: Python 3.11 or newer, Git, Graphviz, and uv.
uv sync --all-groups
git clone https://codeberg.org/Starfish/TinyWeatherForecastGermany.git
uv run python __init__.py
uv run python git_log2graphviz.pyThe first script discovers forks and fetches their branches as named remotes. The
second writes commit_list.json, git_graph.dot, and git_graph.svg in the
project directory.
Install the locked development dependencies and run the test suite with:
uv sync --locked --all-groups
uv run pytestPytest reports coverage for fork integration and graph generation. The suite requires at least 80% total coverage. Pull requests, including Dependabot pull requests, run the same checks in GitHub Actions.
To upgrade runtime and development dependencies to their latest compatible
versions and refresh uv.lock, run:
uv lock --upgrade
uv sync --all-groupsThe committed uv.lock keeps development and CI installations reproducible.