Skip to content

Pull Request Policy

Adam Dunkels edited this page Oct 28, 2012 · 13 revisions

Pull Request Policy

Contributions of patches to Contiki should be made through the Pull Request mechanism via Github. This page roughly explains the steps that a pull request will go through. Note, however, that this is primarily just an organizational structure and not a rigid set of rules.

Before submitting a pull request - make sure that the code follows the Code Contributions guidelines.

Submission

When submitted, the Pull Request will automatically notify members of the Contiki-OS organization: a.k.a the merge team. Even members of the merge team must submit their patches via Pull Requests.

The current members of the merge team are (in an order :) ):

  • Adam Dunkels
  • Fredrik Österlind
  • Nicolas Tsiftes
  • Oliver Schmidt
  • George Oikonomou
  • Mariano Alvira

The Pull Request is then reviewed and feedback may be provided. Github provides some great tools for this.

Pull requests require a certain number of "acks" before they can be merged by someone on the merge team. Also certain members are responsible for executing merges regarding particular topics. Executing a merge counts as an ack. Pulls may also be "nak'd" these are roughly treated as a veto --- a nak should be accompanied with specific feedback as to why the pull would be bad to accept.

Generally, code that has general in scope require 2 acks (2 acks should be treated as default). Some code requires more esoteric expertise and typically only require 1 ack; this is primarily used by platform and cpu maintainers to make unilateral updates.

The specific guidelines follow:

Core changes

Acks: >= 2

Merging members:

  • Adam
  • Fredrick
  • Nicolas T.

Dirs:

  • contiki/core
    • Adam
    • Fredrick
    • Nicolas T.
    • Oliver

Build system

Acks: >= 2

Merging members:

  • Adam
  • Oliver
  • Mar

Cooja

Acks: >= 2

Merging members:

  • Fredrick
  • Adam

Examples

Acks: >= 2

Merging members:

  • various

Tools (excluding cooja)

Acks: >= 2

Merging members:

  • various

Apps

Acks: >- 2

Merging members:

  • various

Platforms

  • 8051 based platforms
    • George
  • ARM based platforms
    • Mariano
  • MSP430 based platforms
  • AVR based platforms
Clone this wiki locally