GitLab Contribution Mapper automates the extraction and merging of contributions from multiple GitLab repositories into a single monorepo, while filtering and anonymizing commits based on author email.
Note: The script barely works at the moment, more features will be added in the future (automation through GitHub Actions, more parametrization on what's anonymized or not). Feel free to suggest ideas as GitHub Discussions
or Issues
.
- Clone this project:
git clone https://github.com/7PH/gitlab-contribution-mapper
cd gitlab-contribution-mapper
- Create a virtual environment (optional):
python -m venv venv
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Configure your environment:
Copy .env.template
to .env
and fill in:
cp .env.template .env
Fill in the values (refer to .env.template
to know how to fill them).
Run the tool:
set +a
source .env
set -a
python gitlab-contribution-mapper.py
bash scripts/monorepo-push.sh