A newer version of this documentation is available.

View Latest

Contributing

Contributing to the .NET SDK.

We welcome community contributions to the .NET SDK. The . NET SDK source code is available on GitHub.

GitHub

All source code associated with the project lives in GitHub in the following repository: https://github.com/couchbase/couchbase-net-client.

These are the current active branches in the GitHub repository:

  • release13: development branch for version 1.x

  • master: development branch for 2.x

Submit pull requests to the appropriate branch based upon the version of the SDK that the submission is targeting.

Contributor license agreement

All pull requests must go through a review process before being merged into their respective branches on GitHub. A prerequisite for accepting a pull request is that the contributor has read and signed the Couchbase Contributor License Agreement (CLA). This can be done through Gerrit, our code review system.

Gerrit is the official code review system for the Couchbase SDKs. Community members who want to contribute must create a Gerrit account and sign the CLA. The steps for doing this are as follows:

  1. Navigate to http://review.couchbase.org.

  2. From the menu at the top right-hand side of the page, select Register.

  3. Use a Google account, a Yahoo account, or any other OpenID account to register.

  4. After you have signed in you will be prompted to verify your email and provide a user name.

  5. At the very bottom of the page, click New Contributor Agreement and follow the directions to sign the CLA.

  6. Click Submit Agreement.

After you have signed the CLA, it’s official, you can now contribute to the Couchbase .NET SDK!

Code review process

The typical flow of a community contribution is through a pull request. Locally, you clone the GitHub repository, make your changes, and then pushyour changes to your fork of the repository. From your fork of the repository on GitHub, you create a pull request and submit it to the appropriate branch. The maintainer of the SDK decides whether to accept or deny the pull request. If the maintainer decides to accept the pull request, then they will push the pull request to Gerrit, the code review system used internally within Couchbase.

Gerrit uses the concepts of change sets and patch sets. A change set is the submission under review, and a patch set is an amendment to that change set.

After the submission has been pushed to Gerrit, it is reviewed by one or more Couchbase engineers. Very likely this will be the maintainer of the SDK. The reviewer may ask for several patch sets to be committed before approving a submission.

Reviewers rank the change set with one of the following values:

  • +2 - Looks good to me, approved

  • +1 - Looks good, but someone else must approve

  • 0 - No score

  • -1 - I would prefer you do not submit this

  • -2 - Do not submit

Typically, only submissions ranked +2 are accepted.

After the submission has made it through code review, it is pushed from Gerrit to GitHub by the SDK maintainer.