Pull Request Policy

Simon Duquennoy edited this page Aug 26, 2015 · 9 revisions

This page is obsolete, please now refer to https://github.com/contiki-os/contiki/wiki/Code-Contributions#pull-request-merging-policy

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 :) ):

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
  • Fredrik
  • Nicolas

Dirs:

  • contiki/core
    • Adam
    • Fredrik
    • Nicolas
    • Oliver

Build system

Acks: >= 2

Merging members:

  • Adam
  • Oliver
  • Mar

Cooja

Acks: >= 2

Merging members:

  • Fredrik
  • 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 CM3-based (CC2538, CC26xx)
    • George, Benoît, Antonio
  • Remaining ARM based platforms
    • Mariano
  • MSP430 based platforms
    • Antonio
  • AVR based platforms