Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • All kernel development should happen in branches
    • Branches should be created for anyone who asks
      • Branch creation should be timely (ideally within one day)
      • Team branches should be encouraged to reduce conflicts and increase collaborative overview
    • This does not have to apply to simple fixes (like pom/classpath fixes), that would just cause clutter and slow down everyone needlessly
      • The kernel team should be allowed to decide on a case by case basis what fixes are too simple to require a branch
  • Large scale changes which require access to many projects in Sakai should be managed with a branch as well. The large scale changes should be merged and tested outside of the main svn. Once the changes are shown to be safe, they should be merged in with a single commit action by a branch manager
    • An example of this would be a change to an interface which will no longer be supported (i.e. deprecated). This change would require access to many projects to fix the calls to the interface so they are using the supported method
  • Branch merges should be approved by the owners of that project and should include the kernel team
    • Approval should require some percentage of members (70%?) to agree
    • Dissention and reasons should be noted in the svn merge commit message
    • Owners are responsible for responding to a merge request in a resonable amount of time (1 week?)
      • If the owner does not respond within the reasonable amount of time then the merge decision is made by the framework team
  • All branches which are being merged should be mentioned to the community before they are merged (via the dev list probably)
    • This is not a community vote but is more of a way to let people know what is happening and keep a public record
    • Community member objections should be considered before the kernel changes are committed but they do not have to be addressed

...