Contributing
March 12, 2026 ยท View on GitHub
Contribution workflow
All new work must be committed on topic branches. Name topics like you might name functions: concise but precise. A reader should have a general idea of the feature or fix to be developed given just the branch name.
- To start a new topic branch:
$ git fetch origin
- For new development, start the topic from origin/master:
$ git checkout -b my-topic origin/master
- Edit files and create commits (repeat as needed):
$ edit file1 file2 file3
$ git add file1 file2 file3
$ git commit
Commit convention
Commit messages must contain a brief summary as the first line and a more detailed description about why the changes are necessary below:
[feat] Add a new feature in LidarView
This feature allows...
Best Practices for Commits:
- Try to keep the commits organized logically, with a medium level of granularity
- In general, commit files and features from the most depended on to the least
- Write short but meaningful commit messages
- Use imperative:
Fix issue with stuff : Good
Fixing issue with stuff: Bad
- You can reference gitlab issues, MRs and commits if needed.
- Developers could use the provided gitmessage template in their git configuration:
$ git config commit.template Documentation/.gitmessage
- Each commit of a MR should ideally be compilable. You can use the commands
git rebase -iandgit commit --fixupto edit your commits and keep them clean during a review!
Clang-format & style
Please follow the VTK coding style when contributing to LidarView.
All commits in LidarView must be formatted using clang-format. This tool ensures consistent C++ code style across the project. It can be integrated into your IDE or run via the command line.
Debugging LidarView
LidarView and custom app in general rely massively on ParaView. So when a bug is detected the best practice is to try to reproduce it on:
- LidarView master
- The ParaView executable compiled with the superbuild. It can be found at
<lidarview_superbuild>/install/bin/paraview[.exe] - The corresponding ParaView release
- ParaView master