Skip to content

Releases: 7PH/git-contribution-mapper

v1.0.0

11 Mar 00:37
@7PH 7PH

Choose a tag to compare

🔥 Release preview

Runs are now idempotent: the same source commits always produce the same monorepo hashes, so pushing twice is a no-op. No more forced pushes on every run.

# First run - pushes new commits
uv run python git-contribution-mapper.py
bash scripts/monorepo-push.sh

# Second run - nothing to push
uv run python git-contribution-mapper.py
bash scripts/monorepo-push.sh
# → Everything up-to-date

🚀 Features

  • Add --dry-run / -n flag to preview what would run without making changes
  • Add --force-push flag for when upstream history has changed
  • Support any Git host, not just GitLab (#8)
  • Configure the main branch per-repository via MAIN_BRANCH env var (#2)

🐞 Bug fixes

  • Fix idempotent runs: set committer date = author date so cherry-picks are deterministic (Fixes #3)
  • Fix linear history: use cherry-pick instead of merge to avoid merge commits in the monorepo (Fixes #7)
  • Fix commit deduplication: include commit hash in blob content so identical-content commits are preserved (Fixes #4)

💻 Code quality

  • Replace os.system() shell call with shutil.copy() to prevent command injection (#10)

v0.1.0

02 May 13:24
@7PH 7PH

Choose a tag to compare

🔥 Release preview

Initial release of gitlab-contribution-mapper

🚀 Features

Merge the anonymized history of multiple GitLab repositories into a single repository which can safely be pushed to GitHub to fill your GitHub contribution graph.

  • Support multiple repositories
  • Only keep your commits
  • Empties the commits content
  • Helper to auto-generate your .env file

👥 Thanks