This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
git
and cmake
installed on your system. On Windows we recommend using Git Extensions for git bash.git clone https://github.com/IntelRealSense/librealsense.git
and cd librealsense
git fetch origin
git checkout development
git reset --hard origin/development
git checkout -b name_of_your_contribution
to create a dedicated branchgit config --global user.email "email@example.com"
and git config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history.git add -p
to select the changes you wish to addgit commit -m "Description of the change"
git remote add fork https://github.com/username/librealsense.git
with your GitHub username
git fetch fork
git push fork
to push name_of_your_contribution
branch to your forkhttps://github.com/username/librealsense
New pull request
buttonbase
combo-box select development
, since you want to submit a PR to that branchcompare
combo-box select name_of_your_contribution
with your commitCreate pull request
To continue to new change, goto step 3. To return to your PR (in order to make more changes):
git stash
git checkout name_of_your_contribution
git push fork
The pull request will be automatically updatedIt is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
wrappers/matlab/option.m
wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。