94 lines
3.3 KiB
Markdown
94 lines
3.3 KiB
Markdown
If you want to contribute to MatterLinux, please first read the
|
|
[code of conduct](/wiki/conduct).
|
|
|
|
## Registering to Gitea
|
|
All of the development is done using the [git version control system](https://git-scm.com/).
|
|
And all the git repos are managed using [Gitea](https://about.gitea.com/), so if you want to
|
|
contribute, you should register an account first. To prevent mass account creation, registration
|
|
page of Gitea is disabled. So in order to register an account, send a email to the [maintainer](mailto:ngn@ngn.tf)
|
|
with the subject `Gitea Account`. Specify **at least** two usernames for your account (second one will be used for
|
|
registration if the first one is unavailable). Then wait for a reply containing further instructions.
|
|
You can also contact the maintainer [directly](/wiki/chat).
|
|
|
|
> **Important**
|
|
>
|
|
> Do not use the Gitea instance for hosting your own projects/repositories, personal
|
|
> repositories (AKA repositories not forked for PRs) will be deleted. If you insist on creating
|
|
> personal repositories your account will be deleted.
|
|
|
|
## Issues
|
|
To report a bug, to ask questions or to request a feature, first find the related repository.
|
|
Then head over to the issue tab. Label your issue and explain it with a simple title. Write a
|
|
detailed description for the issue. Finally create the issue and patiently wait for a response.
|
|
|
|
To get more information about reporting bugs, check out [this wiki page](/wiki/bugs).
|
|
|
|
## Pull Requests
|
|
If you want to make changes and merge them to the project, first fork the related repository.
|
|
Then clone the forked repository and make the changes you want.
|
|
|
|
> **Important**
|
|
>
|
|
> Do not make multiple changes in one commit, for example adding a feature and fixing a bug
|
|
> in the same commit is a bad idea. Separate different changes to different commits
|
|
|
|
**Make sure to use correct indenting!**. MatterLinux projects uses **2 spaces** for indenting.
|
|
Configure your editor so it uses the same indenting. Here is an example configuration for the
|
|
`vim` editor:
|
|
```
|
|
set tabstop=2
|
|
set softtabstop=0
|
|
set expandtab
|
|
set shiftwidth=2
|
|
set smarttab
|
|
```
|
|
|
|
And here is a more extended configuration for general usage:
|
|
```
|
|
set tabstop=2
|
|
set softtabstop=0
|
|
set expandtab
|
|
set shiftwidth=2
|
|
set smarttab
|
|
|
|
set fileencoding="utf-8"
|
|
set hlsearch
|
|
set ignorecase
|
|
set mouse=a
|
|
set smartcase
|
|
set smartindent
|
|
set noswapfile
|
|
set pumheight=10
|
|
set undofile
|
|
set scrolloff=8
|
|
set sidescrolloff=8
|
|
set number
|
|
set relativenumber
|
|
set backspace=indent,eol,start
|
|
|
|
if !isdirectory("/tmp/undos")
|
|
call mkdir("/tmp/undos", "", 0700)
|
|
endif
|
|
set undodir=/tmp/undos
|
|
set undofile
|
|
|
|
syntax on
|
|
```
|
|
You should also run the `make format` command for repositories that contain custom formatting
|
|
rules in their Makefiles.
|
|
|
|
After making the changes, commit them using the following format:
|
|
```
|
|
<fix/feature/new/remove/update>: <description>
|
|
```
|
|
Do not use long commit messages, instead add a description to your commit if needed. **Make sure the email you are
|
|
using for signing the commit matches with your Gitea account email.**
|
|
|
|
After pushing your changes create a pull request (PR) to the original project. Write a
|
|
detailed description for the PR, explain the changes you have made, explain why you made
|
|
these changes and link any related issues.
|
|
|
|
## Discussion
|
|
Join the [chat rooms](/wiki/chat) to discuss with the other developers, especially for larger
|
|
changes and PRs.
|