Mayan EDMS source is controlled with Git.
The project is publicly accessible, hosted and can be cloned from GitLab using:
$ git clone https://gitlab.com/mayan-edms/mayan-edms.git
Git branch structure¶
Mayan EDMS follows a simplified model layout based on Vincent Driessen’s Successful Git Branching Model blog post.
Working branch for the next bugfix release. Micro increment (third digit). Only bug fixes, minor features, back-ported urgent features. This branch is stable and safe for production.
Working branch for the next minor release (second digit). New features, occasional breakage. Not for production but should run in test environment most of the time. This is the branch you will want to try out if you want to check out new features.
Working branch for the next major release (first digit). New features, incompatible changes to the user facing interfaces. Broken most of the time, not for production and should only be cloned by developers with experience with Mayan’s development.
Current production release (4.3.1). Points to the latest version of the latest series. Production quality code.
Working branches for unfinished and unmerged feature. Likely unstable, don’t use in production. Once the feature is complete, it is merged into one of the versions branches and deleted.
Pushing code to this branch will trigger the build and release a new Docker image, Documentation and Python package.
Pushing code to this branch will trigger the build and release of a new Docker image to Docker Hub.
Pushing code to this branch will trigger the build and release of new documentation.
Pushing code to this branch will trigger the build and release of a new Python package to PyPI.
Pushing code to this branch will trigger the build and release of a new Docker image based on development code to the GitLab image repository only. The image will not be published to Docker Hub.
Each release is tagged separately using annotated Git tags.
When submitting patches, please place your code in its own
prior to opening a Merge Request on https://gitlab.com/mayan-edms/mayan-edms/issues/.
Use English as the language for the commit messages.
Provide a subject line composed of a tag and a short explanation:
Indexing: Add document base property reindex
Keep the subject line to 50 or less characters.
Capitalize the subject line.
Don’t end the subject line with a period, leave like a phrase in English.
Use active voice in the. Say what the commit will do when applied not what you did:
Add new properties to the model.
Added new properties to the model.
Limit the body of the commit to 72 characters.
When a commit fixes or improves an issue add the issue number in the commit message. Either in the subject or in the body.
Sign commit messages.
Use explicit language even for minor commits. Don’t do:
Document: Fix typo in label description