|
DeveloperGuidelines
Developer guidelines for contributing to Ganeti
Featured IntroductionThis page details the rules that need to be followed when contributing code or documentation to the Ganeti project. Contributor License Agreement (CLA)The first requirement is that either your and/or your employer sign the individual or corporate Contributor License Agreement. Which one is needed depends on your particular case. CodeSince migrating the source code repository to Git (see SourceCode for details), only a limited number of people have commit access. Please send your patches to the [http://groups.google.com/group/ganeti-devel ganeti-devel@googlegroups.com] mailing list to get it reviewed and committed. Source tree organizationDevelopment of new features for the next major or minor version goes on in the master branch. Bug fixes and small changes are done on the devel-x.y branch and then merged into master. Bug fixes while preparing a new release go directly to the stable-x.y branch, which is merged into devel-x.y after the release. Please read the README or INSTALL files on how to build from source code. ReleaseProcess describes how to build new releases. Preparing patches for submissionIf you have more than a trivial fix it's better to make sure that the static checks are fine before sending the patches. This can be done by running the command: make commit-check For this, you need to have epydoc and pylint installed, for the latter specifically the following version: $ pylint --version pylint 0.21.1, astng 0.20.1, common 0.50.3 Note: depending on your Python version, pylint might give deprecation warnings; these can be ignored (e.g. by commenting out the respective code in pylint itself). epydoc might also give warnings on blocks of the form #:; this is fixed by applying a patch from its SourceForge page (https://sourceforge.net/tracker/index.php?func=detail&aid=2585292&group_id=32455&atid=405618). Useful git repository config snippetThis snippet might be useful when working with the Ganeti git repo and shall be added to .git/config of the cloned repository. [push] default = tracking [branch] autosetuprebase = always [sendemail] signedoffcc = false suppressfrom = true chainreplyto = false to = ganeti-devel@googlegroups.com thread = false confirm = compose For further details what each of this options does have a look at `git help config`. Wiki updatesThe wiki can be updated by members directly. Non-members need to send their requested changes to the mailing list. |