-
Notifications
You must be signed in to change notification settings - Fork 0
Contribution guide
This guide should be used when contributing changes/features/fixes to Meraswitch project and all its repositories for situations when changes are made for global OpenSwitch functionality (and delivered upstream) and when Mera-specific code is changed.
Read OpenSwitch contribution guide at http://www.openswitch.net/documents/dev/contribute-code and install required tools.
- Before making any changes, decide whether the change affects global functionality or it only affects Mera functionality. It is important to decide right at the beginning because depending on the choice changes should be based on different branches
- Clone the MERAprojects/ops-build repository
Ex.
git clone https://github.com/MERAprojects/ops-build.git
-
Switch to branch meraswitch/master
Ex.
cd ops-build; git checkout meraswitch/master
- Add the repository to be changed to devenv in ops-build
Ex.
make devenv_init; make devenv_add ops-quagga
-
Switch to meraswitch/master branch
Ex.
cd src/ops-quagga; git checkout meraswitch/master
- Make necessary code changes and test them
- Make necessary changes to automatic (component or feature) test scripts and verify that auto tests do pass
- Commit and push the changes
- Create a pull request (it is important to note that github will propose to create a pull request from your branch to OpenSwitch github repository first. Pull request should be created from your branch (ex. meraswitch/master/dummy_fix) to MERAprojects repository branch)
- Review and merge to meraswitch/master
For global functionality only
10. When internal review is over, rebase to the latest master branch (if necessary), and send the changes for global review using git-review. Changes from your branch will be pushed to master by gerrit. Adjust the changes if necessary on local branch. When external review is over, your changes will be merged downstream to Mera repository master branch. At this point pull request can be closed and branch can be deleted.
For both internal and external review ops-build bb recipes must be changed when the review is complete. Follow the same procedure again for ops-build repository (but without devenv and internal review)