Collaboration¶
The MTPPy2.0 package is managed in the gitlab repository MMTPy2.0, hosted at TU Chemnitz.
--8←
Workflow Principles¶
- Isolate your work, by working in a dedicated branch for your work
- After having reached a certain quality, place a merge request of the branch to
develop, our working and integration branch - Await Maintainer Feedback and Approval
- Repeat
Initial Checkout¶
- Clone the Repository First, clone the repository to your local machine using Git. Make sure you have the necessary access permissions (e.g., SSH key or access token) and navigate to the MTPPy2.0 directory
-
Set up your Development Environment (Virtual Environment)
The project uses uv for managing dependencies. To ensure everything works correctly,
synchronize the virtual environment with the project dependencies.
Run the following command to sync the environment:
- Test your installation
To verify that everything is set up correctly, run the pea_minimal application
using uv run. This ensures the virtual environment is used automatically
without needing to activate it manually
Working on work items: use branches¶
0. Check your current status and branch¶
Whenever you are not sure what's going on, where you are or what you've changed, make use of:
1. Create a task specific branch¶
The best practice in contributing is to assign yourself to a work item and create a
branch, using the gitlab repository's Web-GUI.
Copy or remember the auto generated branch name.
2. Create a tracked branch locally¶
The following sequence of commands creates a local copy of the branch and links
it as tracking branch with the repository.
Note, that the preparation with git pull (after you had created the branch in the Web-GUI) is essential for
the automated tracking feature introduced with git 2.23+:
git checkout -b <branch-name> origin/<branch-name>. Sometimes, most often when
you had used git fetch, the automated tracking fails (the output might be something
like "Switched to a new branch", no hint about tracking information). Fix this
situation with the command
3. Have fun, learn fast, commit often¶
While working on your feature use the standard commands for committing (locally)
and publish it regularly to the repository You might want to do explicitly express your branchgit push origin/<branch-name>Note: In case you experience an error during push, make sure that you've created your branch correctly. For further details revisit Contributing
-
Merge back to
developOnce you are done, go back to gitlab's Web-GUI, select the work item/issue and click buttonCreate merge requestwith targetdevelop -
Switch back to
Note: Your changes are not present there until merge is completed by Maintainerdevelop