Commit e198b9a6 authored by Nicolas Fella's avatar Nicolas Fella
Browse files

Update CONTRIBUTING.md

Port from phabricator to gitlab
Adapt to changed Plasma branching strategy
Remove specific commit message policy. kscreen follows Plasma policies and
Plasma does not have a specific commit message policy other than KDE's.
parent 88690ffd
......@@ -10,47 +10,20 @@ The [KDE Community Code of Conduct][kde-coc] is applied.
You can reach out to the [Commmunity Working Group][community-working-group] if you have questions about the Code of Conduct or if you want to get help on solving an issue with another contributor or maintainer.
## Issues
Please reports issues and suggestions using [KDE's bugzilla][bugzilla].
## Submission Guideline
The project follows the [Frameworks Coding Style][frameworks-style].
All non-trivial patches need to go through [Phabricator reviews][phab-reviews].
All non-trivial patches need to go through [code review][gitlab-reviews].
Commits are applied directly on top of master or a bug-fix branch and without merge commits. Larger changes must be split up into smaller logical commits each with a separate review. These reviews must be marked with Phabricator's online tools as dependent on each other.
Commits are applied on top of master and cherry-picked to release branches if appropriate. Use `-x` when cherry-picking. Larger changes should be split up into smaller logical commits.
KScreen is released as part of Plasma. See the [Plasma schedule][plasma-schedule] for information on when the next new major version is released from master branch or a minor release with changes from one of the bug-fix branches.
KScreen is released as part of Plasma. See the [Plasma schedule][plasma-schedule] for information on the release schedule.
## Commit Message Guideline
Besides the [KDE Commit Policy][commit-policy] the [Conventional Commits 1.0.0][conventional-commits] specification is applied with the following amendments:
* Only the following types are allowed:
* build: changes to the CMake build system, dependencies or other build-related tooling
* docs: documentation only changes to overall project or code
* feat: new feature
* fix: bug fix
* perf: performance improvement
* refactor: rewrite of code logic that neither fixes a bug nor adds a feature
* style: improvements to code style without logic change
* test: addition of a new test or correction of an existing one
* Only the following optional scopes are allowed:
* kcm
* kded
* plasmoid
* Angular's [Revert][angular-revert] and [Subject][angular-subject] policies are applied.
* Breaking changes are supposed to be pointed out only in prose in the commit body.
* When a commit closes a bug on [Bugzilla][bugzilla] or when the commit has an associated Phabricator review special keywords must be used in the commit body to link the respective bug or review. See [here][commit-policy-keywords] for more information on these and other possible keywords. [Arcanist][arcanist] should be used for automating usage of the review keyword.
Commits deliberately ignoring this guideline will be reverted.
### Example
fix(kcm): provide correct return value
For function exampleFunction the return value was incorrect.
Instead provide the correct value A by changing B to C.
BUG: <bug-number>
Differential Revision: https://phabricator.kde.org/<review-number>
Please follow the [KDE Commit Policy][commit-policy]. In particular please make sure to use appropriate [commit keywords][commit-policy-keywords].
## Contact
Real-time communication about the project happens on the IRC channel `#plasma` on freenode and the bridged Matrix room `#plasma:kde.org`.
......@@ -60,13 +33,9 @@ Emails about the project can be sent to the [plasma-devel][plasma-devel] mailing
[kde-coc]: https://kde.org/code-of-conduct
[community-working-group]: https://ev.kde.org/workinggroups/cwg.php
[frameworks-style]: https://community.kde.org/Policies/Frameworks_Coding_Style
[phab-reviews]: https://phabricator.kde.org/differential
[gitlab-reviews]: https://invent.kde.org/plasma/kscreen
[plasma-schedule]: https://community.kde.org/Schedules/Plasma_5
[commit-policy]: https://community.kde.org/Policies/Commit_Policy
[conventional-commits]: https://www.conventionalcommits.org/en/v1.0.0/#specification
[angular-revert]: https://github.com/angular/angular/blob/3cf2005a936bec2058610b0786dd0671dae3d358/CONTRIBUTING.md#revert
[angular-subject]: https://github.com/angular/angular/blob/3cf2005a936bec2058610b0786dd0671dae3d358/CONTRIBUTING.md#subject
[bugzilla]: https://bugs.kde.org/describecomponents.cgi?product=KScreen
[commit-policy-keywords]: https://community.kde.org/Policies/Commit_Policy#Special_keywords_in_GIT_and_SVN_log_messages
[arcanist]: https://secure.phabricator.com/book/phabricator/article/arcanist
[plasma-devel]: https://mail.kde.org/mailman/listinfo/plasma-devel
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment