docs/src/contributing/pull_requests.rst
.. _contributing_pull_requests:
Merging new code into the lvgl/lvgl and other
repositories happens via Pull Requests (PR for short). A PR is a
notification like "Hey, I made some updates to your project. Here are
the changes, you can add them if you want." To do this you need a copy
(called fork) of the original project under your account, make some
changes there, and notify the original repository about your updates.
You can see what it looks like on GitHub for LVGL here:
https://github.com/lvgl/lvgl/pulls.
To add your changes you can edit files online on GitHub and send a new
Pull request from there (recommended for small changes) or add the
updates in your favorite editor/IDE and use git to publish the changes
(recommended for more complex updates).
From GitHub
From Your Local Workstation
These instructions describe the main lvgl repository but it works the
same way any remote Git repository.
lvgl repository <https://github.com/lvgl/lvgl>__. To do this click the
"Fork" button in the top right corner. It will "copy" the lvgl
repository to your GitHub account (https://github.com/<YOUR_NAME>?tab=repositories)master branch for the updates: git checkout -b <new-feature-branch-name>lvgl repository.lvgl repository (https://github.com/<YOUR_NAME>/lvgl) by
clicking the "New pull request" button. Don't forget to select the branch where you added your changes.lvgl repo both fixes
and new features should be directed to the master branch.lvgl repo with new commits.
They will automatically appear in the PR... _contributing_commit_message_format:
Commit Message Format
The commit messages format is inspired by Angular Commit Format <https://github.com/angular/angular/blob/main/CONTRIBUTING.md#-commit-message-guidelines>__.
The following structure should be used:
.. code-block:: text
<type>(<scope>): <subject>
<--- blank line
<body>
<--- blank line
<footer>
Possible <type>\ s:
fix bugfix in LVGL source codefeat new featurearch architectural changesperf changes that affect performanceexample anything related to examples (including fixes and new examples)docs anything related to documentation (including fixes, formatting, and new pages)test anything related to tests (new and updated tests or CI actions)chore any minor formatting or style changes that would make the changelog noisy<scope> is the name of the module, file, or subsystem affected by the
commit. It's usually one word and can be chosen freely. For example
img, layout, txt, anim. The scope can be omitted.
<subject> contains a short description of the change following these guidelines:
.) at the end;<body> optional and can be used to describe the details of this
change.
<footer> shall contain:
Linking a pull request to an issue <https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue>__
for details.)Some examples:
.. code-block:: text
fix(image): update size when a new source is set
.. code-block:: text
fix(bar): fix memory leak
The animations weren't deleted in the destructor.
Fixes: #1234
.. code-block:: text
feat: add span widget
The span widget allows mixing different font sizes, colors and styles.
It's similar to HTML <span>
.. code-block:: text
docs(porting): fix typo